给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。
在杨辉三角中,每个数是它左上方和右上方的数的和。
示例:
输入: 3
输出: [1,3,3,1]
进阶:
你可以优化你的算法到 O(k) 空间复杂度吗?
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/pascals-triangle-ii
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
class Solution {
public:
vector<int> getRow(int rowIndex)
{
vector<int> tmp;
int numRows = rowIndex+1;
if(rowIndex < 0)
{
tmp.push_back(1);
return tmp;
}
if(numRows == 0)
{
return tmp;
}
int array[numRows][numRows];
memset(array, 0, numRows*numRows*4);
int i = 0;
int j = 0;
for(i=0; i<numRows; i++)
{
array[i][0] = 1;
array[i][i] = 1;
}
for(i=2; i<numRows; i++)
{
for(j=1; j<i; j++)
{
array[i][j] = array[i-1][j] + array[i-1][j-1];
}
}
//vector<float> vecHeight(arrHeight, arrHeight+sizeof(arrHeight)/sizeof(float));
for(int *p=*(array+rowIndex); p<*(array+rowIndex)+numRows; p++)
{
tmp.push_back(*p);
}
return tmp;
}
};