The Solution to Leetcode 119 Pascal's Triangle II

来源:互联网 发布:淘宝直通车定向推广 编辑:程序博客网 时间:2024/06/11 13:35

Question:

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

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

思路:元素之间满足这样的一个关系:a[i][j]=a[i-1][j-1]+a[i-1][j],除了每一行的第一个数和最后一个数都是1以外。由于要使算法只产生O(k) 的额外空间,所以采用一维数组来存储元素。

Answer:

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

run code results:

Your input
3
Your answer
[1,3,3,1]
Expected answer
[1,3,3,1]

原创粉丝点击