[LeetCode] Pascal's Triangle II

来源:互联网 发布:淘宝如何注销实名认证 编辑:程序博客网 时间:2024/06/05 02:45

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?


class Solution {public:    vector<int> getRow(int rowIndex) {        vector<int> res(rowIndex + 1, 1);        for(int i = 2; i <= rowIndex; i++)        {            vector<int> tmp(res);            for(int j = 1; j < i; j++)                tmp[j] = res[j] + res[j-1];            res = tmp;        }        return res;    }};

better one:

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


0 0
原创粉丝点击