leetcode Pascal's Triangle II

Pascal's Triangle类似,这里是不需要记录所有的,而是给定一个行号,返回那一行的数据就可以了。例如:

For example, given k = 3,
Return [1,3,3,1].

所以给0的时候返回[1].

题目要求O(k)空间,也就是除了要返回的空间外,其他是常数空间。

那就用一个tmp来存上一个矩阵中i-1的值,然后按照加法原址更新。

class Solution {
public:
    vector<int> getRow(int rowIndex) {
        vector<int> ans;
        ans.push_back(1);
        while(rowIndex-- > 0)
        {
            int len = ans.size(), tmp = ans[0];
            for (int i = 1; i < len; ++i)
            {
                ans[i] += tmp;
                tmp = ans[i] - tmp;
            }
            ans.push_back(1);
        }
        return ans;
    }
};
原文地址:https://www.cnblogs.com/higerzhang/p/4137055.html