码迷,mamicode.com
首页 > 其他好文 > 详细

【Leetcode】Pascal's Triangle II

时间:2014-06-18 12:40:54      阅读:265      评论:0      收藏:0      [点我收藏+]

标签:style   class   blog   code   http   tar   

Given an index k, return the kth row of the Pascal‘s triangle.

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

Note:
Could you optimize your algorithm to use only O(k) extra space?

思路:最简单的方法就是按照【Leetcode】Pascal‘s Triangle 的方式自顶向下依次求解,但会造成空间的浪费。若只用一个vector存储结果,在下标从小到大的遍历过程中会改变vector的值,如[1, 2, 1] 按小标从小到大累计会变成[1, 3, 4, 1]不是所求解,因此可以采取两种解决方法,简单的一种则是使用两个vector,一个存上一层的值,一个存本层的值,然后再进行交换;另外一种方法则是按下标从大到小进行遍历,则会避免上述问题。

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


【Leetcode】Pascal's Triangle II,布布扣,bubuko.com

【Leetcode】Pascal's Triangle II

标签:style   class   blog   code   http   tar   

原文地址:http://blog.csdn.net/lipantechblog/article/details/31383815

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!