本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie
Pascal's Triangle II
Total Accepted: 9401 Total Submissions: 31433Given 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?
题意:题意:给定数字rowIndex,返回杨辉三角的第rowIndex行
思路:按杨辉三角的定义生成rowIndex+1行杨辉,然后返回第rowIndex行即可
复杂度:时间O(n^2),空间O(n^2)
class Solution {
public:
vector<int> getRow(int rowIndex) {
vector<int > triangle;
int numRows = rowIndex + 1;
if(numRows == 0) return triangle;
vector<int> row1; row1.push_back(1);
triangle = row1;
for(int i = 1; i < numRows; i++){
vector<int> row;
row.push_back(1);
for(int j = 0; j < i - 1; j++){
row.push_back(triangle[j] + triangle[j + 1]);
}
row.push_back(1);
triangle = row;
}
return triangle;
}
};