[LeetCode]119.Pascal's Triangle II

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/SunnyYoona/article/details/43562603

题目

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?

思路

代码

    /**------------------------------------
    *   日期:2015-02-06
    *   作者:SJF0115
    *   题目: 119.Pascal's Triangle II
    *   网址:https://oj.leetcode.com/problems/pascals-triangle-ii/
    *   结果:AC
    *   来源:LeetCode
    *   博客:
    ---------------------------------------**/
    #include <iostream>
    #include <vector>
    #include <algorithm>
    using namespace std;

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

    int main(){
        Solution s;
        int n = 0;
        vector<int> result = s.getRow(n);
        // 输出
        for(int i = 0;i < result.size();++i){
            cout<<result[i]<<"  ";
        }//for
        cout<<endl;
        return 0;
    }

运行时间

[LeetCode]119.Pascal's Triangle II

上一篇:嗨!这是一篇值得深入学习的控件-RecyclerView(源码解析篇)


下一篇:UVA 之10010 - Where's Waldorf?