我的解法
vector<vector<int>> generate(int numRows) {
vector<vector<int>> vv;
vector<int> v,vtemp;
for(int i=0;i<numRows;i++){
for(int j=0; j<vtemp.size()+1;j++){
if(j == 0 || j == vtemp.size()) v.push_back(1);
else v.push_back(vtemp[j]+vtemp[j-1]);
}
vv.push_back(v);
vtemp = v;
v.clear();
}
return vv;
}
更快的解法
vector<vector<int>> generate(int numRows) {
vector<vector<int>> sol;
if(numRows == 0) return sol;
vector<int> row(numRows, 1);
for(size_t i = 1; i <= numRows; i++) {
vector<int> tmp(row.begin(), row.begin() + i);
for(size_t j = 1; j < i-1; j++) {
tmp[j] = row[j] + row[j-1];
}
for(size_t j = 1; j < i-1; j++) {
row[j] = tmp[j];
}
sol.push_back(tmp);
}
return sol;
}