
class Solution {
public:
/*
* @param m: positive integer (1 <= m <= 100)
* @param n: positive integer (1 <= n <= 100)
* @return: An integer
*/
int uniquePaths(int m, int n) {
// write your code here
if (n == 1 || m == 1) return 1;
if (n == 2) return m;
if (m == 2) return n;
int dp[2][m];
for (int i = 0; i < m; i++) {
dp[0][i] = i + 1;
dp[1][i] = i + 1;
}
for (int i = 3; i <= n; i++)
for (int j = 1; j < m; j++)
dp[i%2][j] = dp[(i-1)%2][j] + dp[i%2][j-1];
return dp[n%2][m-1];
}
};
浙公网安备 33010602011771号