您的位置:首页 > 产品设计 > UI/UE

Leet Code 62 Unique Paths - 不同路径 - Java

2016-06-24 00:00 543 查看
摘要: Leet Code 62 Unique Paths - 不同路径 - Java

问题原始链接 https://leetcode.com/problems/unique-paths

一个机器人在 m*n 网络的左上角,机器人在任何时刻只能向右或者向下走,机器人想要到达右下角。请问有多少条不同的路径。

注意:m 和 n 最大为100。

使用动态规划法。申请整数矩阵 dp[m]
,dp[i][j]表示到达(i,j)位置的不同路径数。到达9i,j)位置有两种方式,一种是从(i-1,j)向下,另一种是从(i,j-1)向右,所以 dp[i][j]=dp[i-1][j]+dp[i][j-1]。

[code=language-java]public class Solution {
public static int uniquePaths(int m, int n) {
if (m <= 0 || n <= 0) {
return 0;
}
int[][] dp = new int[m]
;
for (int j = 0; j < n; j++) {
dp[0][j] = 1;
}
for (int i = 1; i < m; i++) {
dp[i][0] = 1;
}
for (int i = 1; i < m; i++) {
for (int j = 1; j < n; j++) {
dp[i][j] = dp[i - 1][j] + dp[i][j - 1];
}
}
return dp[m - 1][n - 1];
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息