题目描述:

解析:dp 从右下往左上推
class Solution {public int uniquePaths(int m, int n) {if (m == 1 || n == 1) {return 1;}int[][] dp = new int[m][n];for (int i = 0; i < m - 1; i++) {dp[i][n - 1] = 1;}for (int i = 0; i < n - 1; i++) {dp[m - 1][i] = 1;}int currRow = m - 2;int currColum = n - 2;while (currRow >= 0) { //保证行不越界dp[currRow][currColum] = dp[currRow + 1][currColum] + dp[currRow][currColum + 1];currColum--;if (currColum < 0) { //表示列越界currRow--;currColum = n - 2;}}return dp[0][0];}}
