首页 > 其他 > 详细

leetcode Pascal's Triangle II

时间:2014-12-02 13:25:34      阅读:216      评论:0      收藏:0      [点我收藏+]

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

原文:http://www.cnblogs.com/higerzhang/p/4137055.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!