Pascal’s Triangle II
Given an index k, return the kth row of the Pascal’s triangle.
For example, given k = 3,
Return[1,3,3,1].Note:
Could you optimize your algorithm to use only O(k) extra space?tags: array
动态规划中,如果我们只要某一行的规划矩阵的值,我们每必要存下整个矩阵,因为求解某一行的矩阵的值时我们只需要上一行矩阵的值(对于本题来说),所以我们只需记录上一行矩阵的值即可。
class Solution {
public:
vector<int> getRow(int rowIndex) {
vector<int> row;
row.push_back(1);
if(rowIndex == 0){
return row;
}
else{
vector<int> lastRow = row;
for(int i = 1; i <= rowIndex; i++){
row.clear();
row.push_back(1);
for(int j = 1; j < i; j++){
row.push_back(lastRow[j] + lastRow[j - 1]);
}
row.push_back(1);
lastRow = row;
}
return row;
}
}
};
