题目描述:
给定一个非负索引 rowIndex
,返回「杨辉三角」的第 rowIndex
行。
在「杨辉三角」中,每个数是它左上方和右上方的数的和。
(思路与上一题相同,区别在于上一题返回的是ret,这个题返回的是ret[rowIndex])
方法一:数学(C++代码)
class Solution {
public:
vector<int> getRow(int rowIndex) {
vector<vector<int>> ret(rowIndex+1);
for(int i = 0; i <= rowIndex; i++){
ret[i].resize(i+1);
ret[i][0] = ret[i][i] = 1;
for(int j = 1; j < i; j++){
ret[i][j] = ret[i-1][j-1] + ret[i-1][j];
}
}
return ret[rowIndex];
}
};
时间复杂度:O(rowIndex²)
空间复杂度:O(1)