输入: 3 输出: [1,3,3,1]
思路:将二维数组压缩为一维数组。行首部与末尾的元素都是1.处理每一行的元素,从最后一个元素(值为1)前面的元素开始,从后往前处理 第j个元素的值等于:前一行第j-1个元素的值 + 前一行第j个元素的值。
class Solution {
public:
vector
<int> getRow(int rowIndex
) {
vector
<int>row(rowIndex
+1,1);
if(rowIndex
==0)
{
return vector
<int>(1,1);
}
int n
=rowIndex
+1;
for(int i
=0;i
<n
;i
++)
{
row
[i
]=1;
for(int j
=i
-1;j
>=1;j
--)
{
row
[j
]=row
[j
-1]+row
[j
];
}
}
return row
;
}
};
转载请注明原文地址:https://blackberry.8miu.com/read-7904.html