Pascal's Triangle II

来源:互联网 发布:淘宝客佣金怎么算的 编辑:程序博客网 时间:2024/05/16 10:23

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

For example, given k = 3,
Return [1,3,3,1].
杨辉三角是从第0行开始算起的,主要思路首相利用Pascal’s Triangle生成杨辉三角,

http://blog.csdn.net/niekai01/article/details/52289999

然后输出最后一行即求解此题。

#include<iostream>#include<vector>using namespace std;vector<vector<int> > generate(int numRows) {    vector<vector<int> > ret;    if(numRows==0) return ret;    vector<int> last(1,1);    ret.push_back(last);    for(int i=2;i<=numRows;i++)    {        last.push_back(0);        vector<int> cur=last;        for(int j=1;j<i;j++)        {            cur[j]=last[j-1]+last[j];        }        ret.push_back(cur);        last=cur;    }    return ret;} vector<int> getRow(int rowIndex) {     vector<vector<int> > res;     vector<int> result;     res=generate(*rowIndex+1*);     result=res[res.size()-1];     return result;}int main(){    int k;    k=3;    vector<int> res1;    //vector<int> last(1,1);    res1= getRow(k);    for(int i=0;i<res1.size();i++)        cout<<res1[i]<<endl;    /*    for(int i=0;i<res.size();i++)    {        for(int j=0;j<res[i].size();j++)        {            cout<<  res[i][j] <<endl;        }               }    */    return 0;}
0 0