【LeetCode-119】杨辉三角 II

问题

给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。

示例

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

解答

class Solution {
public:
    vector<int> getRow(int rowIndex) {
        vector<int> result;
        for (int i = 0; i <= rowIndex; i++) {
            result.push_back(1);
            for (int j = i - 1; j > 0; j--)
                result[j] += result[j - 1];
        }
        return result;
    }
};

重点思路

从第一行推至目标行,每行从右推至左。杨辉三角中第n行含有n个数字,第一层循环n个push_back保证数目正确,第二层循环从左至右依次推出更新后数字。通过这样的算法设计不需要考虑n=1和2时的特殊情况。

posted @ 2021-02-07 17:19  tmpUser  阅读(37)  评论(0编辑  收藏  举报