今天继续刷LeetCode,第119题,求杨辉三角中的第N行。
分析:
这个题目和上个题目类似,仍然是从上往下计算,但是每行的值都由上一行的值得到。刚开始想到的办法是,每次保存上一行的值,然后计算下一行,但是看到有更简单的办法是,从后往前计算的时候,就可以把这个位置的值重新赋值,不会影响后面的计算。
问题:
1、注意代码的优化,分析问题的逻辑要清晰;
附上代码:
class Solution {
public:
vector<int> getRow(int rowIndex) {
vector<int> t(rowIndex+1,1);
for(int i=2;i<=rowIndex;i++)
{
for(int j=i-1;j>0;j--)
t[j]=t[j-1]+t[j];
}
return t;
}
};