首页 > 代码库 > leetcode Pascal's Triangle II

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;    }};

 

leetcode Pascal's Triangle II