LeetCode之Unique Paths(Kotlin)

350 阅读1分钟

问题:


方法: 经典的动态规划问题,dp[i][j] = dp[i-1][j] + dp[i][j-1],然后dp遍历即可得到最终结果。

package com.eric.leetcode

class UniquePaths {
    fun uniquePaths(m: Int, n: Int): Int {
        val dp = Array(m) {
            IntArray(n) {
                0
            }
        }
        dp[0][0] = 1
        for (i in 0 until m) {
            for (j in 0 until n) {
                if (i >= 1 && j >= 1) {
                    dp[i][j] = dp[i-1][j] + dp[i][j-1]
                } else if (i >= 1) {
                    dp[i][j] = dp[i-1][j]
                } else if (j >= 1) {
                    dp[i][j] = dp[i][j-1]
                }
            }
        }
        return dp[m-1][n-1]
    }
}

有问题随时沟通

具体代码实现可以参考Github