LeetCode Day50 unique-paths
阿新 • • 發佈:2018-12-11
二維陣列,第一行第一列都為一
動態規劃dp[i][j]=dp[i-1][j]+dp[i][j-1];
class Solution {
public:
int uniquePaths(int m, int n) {
vector<vector<int>> grand(m,vector<int>(n,1));
for(int i=1;i<m;i++){
for(int j=1;j<n;j++){
grand[i][j]=grand[i][ j-1]+grand[i-1][j];
}
}
return grand[m-1][n-1];
}
};
節省空間,只用一維陣列即可
下一行首先用上行資料,預設加了上一行,只需再加上左邊格子的值即可
class Solution {
public:
int uniquePaths(int m, int n) {
vector<int> grand(n,1);
for(int i=1;i<m;i++){
for(int j=1;j<n; j++){
grand[j]+=grand[j-1];
}
}
return grand[n-1];
}
};