题目链接:unique-paths
/**
*
A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below).
The robot can only move either down or right at any point in time.
The robot is trying to reach the bottom-right corner of the grid (marked 'Finish' in the diagram below).
How many possible unique paths are there?
Above is a 3 x 7 grid. How many possible unique paths are there?
Note: m and n will be at most 100.
*
*/
public class UniquePaths {
// 61 / 61 test cases passed.
// Status: Accepted
// Runtime: 173 ms
// Submitted: 0 minutes ago
static int uniquePaths(int m, int n) {
int[][] paths = new int[m][n];
for (int i = 0; i < m; i++) {
paths[i][n - 1] = 1;
}
for (int i = 0; i < n; i++) {
paths[m - 1][i] = 1;
}
for(int j = n - 2; j >= 0; j --)
for(int i = m - 2; i >= 0; i --)
paths[i][j] = paths[i + 1][j] + paths[i][j + 1];
return paths[0][0];
}
// //超时
// static int uniquePaths1(int m, int n) {
// if(m == 1 || n == 1) return 1;
// return uniquePaths(m - 1, n) + uniquePaths(m, n - 1);
// }
public static void main(String[] args) {
System.out.println(uniquePaths(51, 9));
}
}

本文介绍了一个机器人在限定网格内从左上角到右下角的所有唯一路径数量的算法实现。通过动态规划的方法来解决该问题,确保了算法的高效性和准确性。

435

被折叠的 条评论
为什么被折叠?



