杨辉三角二

    科技2022-07-14  142

    输入: 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; } };
    Processed: 0.014, SQL: 8