[LeetCode] Pascal's Triangle II

来源:互联网 发布:小猪cms源码2017 编辑:程序博客网 时间:2024/04/23 17:11

Pascal's Triangle II

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?

解题思路:

题目要求空间复杂度为O(k),我们只需记录上一层的记录即可。这里的k从0开始计数。

class Solution {public:    vector<int> getRow(int rowIndex) {        if(rowIndex<0){            return vector<int>();        }        vector<int> result;        result.push_back(1);        for(int i = 1; i< rowIndex + 1; i++){       //第i行            vector<int> lastRow = result;            result.resize(i+1);            for(int j=0; j<i+1; j++){           //第i行第j个数                if(j==0||j==i){                    result[j]=1;                }else{                    result[j] = lastRow[j-1]+lastRow[j];                }            }         }        return result;    }};


0 0
原创粉丝点击