leetcode 杨辉三角 I&&II
I
不要用排列组合,会导致溢出
class Solution { public: vector<vector<int> > generate(int numRows) { vector<int>v1; vector<vector<int> >v; for(int i=0;i<numRows;i++) { v1.clear(); for(int j=0;j<=i;j++) { if(j==0||j==i) v1.push_back(1); else v1.push_back(v[i-1][j-1]+v[i-1][j]); } v.push_back(v1); } return v; } };
II
题目要求O(n)空间,用普通的组合等式不太靠谱
class Solution { public: vector<int> getRow(int rowIndex) { vector<int>v(rowIndex+1,0); v[0]=1; for(int i=1;i<rowIndex+1;i++) { v[i]=1; for(int j=i-1;j>0;j--) { v[j]=v[j]+v[j-1]; } } return v; } };