【LeetCode】-- 119. ヤン・フイ・トライアングル II

1. 質問

119. ヤン・フイ・トライアングル II - LeetCode

負でないインデックスを指定すると rowIndex、「Yang Hui Triangle」の行を返します rowIndex 「楊輝の三角形」では、それぞれの数字は左上と右上の数字の合計です。

 

 

2. 例

输入: rowIndex = 3
输出: [1,3,3,1]

 

输入: rowIndex = 3
输出: [1,3,3,1]

 

输入: rowIndex = 1
输出: [1,1]

3. 分析

論理:

1. 質問のYang Hui三角形はピラミッドの形をしていますが、例の出力を見ると、出力は配列であることがわかり、Yang Hui三角形が2次元配列であることがわかります。

2. この二次元配列は規則的で、1列目の要素はすべて1、対角線上の要素の値はすべて1、残りの要素はa[i-1][j-1]+aとなります。 [i-1][j]

 

 

 戻り値: 例を見ると、行 a[rowIndex] が返されることがわかります。

4. コードの実装

class Solution {
public:
    vector<int> getRow(int rowIndex) {
        vector<vector<int>> vv(rowIndex+1);

        //将第一列和对角线元素都置1
        for(size_t i = 0;i<=rowIndex;i++)
        {
            vv[i].resize(i+1);
			vv[i][0] = vv[i][i] = 1;
        }

        //将其余元素进行计算
        for(int i = 0;i<vv.size();i++)
        {
            for(int j = 1;j<i;j++)
            {
                vv[i][j] = vv[i-1][j-1] + vv[i-1][j];   
            }
        }

        //返回该行元素
        return vv[rowIndex];
    }
};

おすすめ

転載: blog.csdn.net/gx714433461/article/details/130011949