Pascal's Triangle

来源:互联网 发布:单片机输入的是什么 编辑:程序博客网 时间:2024/06/05 17:53
Pascal's Triangle 
Given numRows, generate the first numRows of Pascal's triangle.


For example, given numRows = 5,
Return


[
     [1],
    [1,1],
   [1,2,1],
  [1,3,3,1],
 [1,4,6,4,1]
]


解题:

注意下标访问,注意0的时候返回空


#include<iostream>#include<vector>using namespace std;class Solution {public:    vector<vector<int> > generate(int numRows) {  vector<vector<int> > vvint;  if(numRows==0)  return vvint;  vector<int> v1;    v1.push_back(1);  vvint.push_back(v1);  if(numRows==1) return vvint;  for(int i=2;i<=numRows;++i){  vector<int> v;for(int j=0;j<i;++j){if(j==0||j==i-1)v.push_back(1);else{vector<int> v0 = vvint[vvint.size()-1];v.push_back(v0[j]+v0[j-1]);}}vvint.push_back(v);  }  return vvint;    }};int main(){Solution s;vector<vector<int> > vvint =  s.generate(6);for(int i=0;i<vvint.size();++i){    vector<int> v = vvint[i];    for(int j = 0 ;j<v.size();++j)    cout<<v[j]<<" ";    cout<<endl;}return 0;}


0 0
原创粉丝点击