题目
杨辉三角, 给定一个数, 输出该层数的杨辉三角.
杨辉三角
Input: 5
Output: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]
思路
循环, a[x][y]=a[x-1][y-1]+a[x-1][y]
vector<vector<int>> generate(int numRows) {
vector<vector<int>> res;
while (res.size() < numRows) {
int n = (int)res.size();
vector<int> vec(n+1, 1);
cout << " n " << n << " " << n - 1 << endl;
for (int i = 1; i < n; i++) {
vec[i] = res[n-1][i-1]+res[n-1][I];
}
res.push_back(vec);
}
return res;
}
总结
转换为数学公式, 巧妙使用循环, 不断填充.