118. 杨辉三角
Problem: 118. 杨辉三角
文章目录
- 思路
- 解题过程
- 复杂度
- Code
思路
- 每一行首尾两个元素都是
1
。 - 其余数字,等于左上方的数,加上正上方的数,即
ans[i][j]=ans[i−1][j−1]+ans[i−1][j]
。
解题过程
- 初始化二维向量
ans
。 - 生成每一行,第
i
行有i + 1
个元素,并且初始化为1
。 - 计算中间元素。
复杂度
- 时间复杂度: O(n2)O(n^2)O(n2)
- 空间复杂度: O(n2)O(n^2)O(n2)
Code
class Solution {
public:vector<vector<int>> generate(int numRows) {vector<vector<int>> ans(numRows);for (int i = 0; i < numRows; i++) {ans[i].resize(i + 1, 1);for (int j = 1; j < i; j++) {ans[i][j] = ans[i - 1][j - 1] + ans[i - 1][j];}}return ans;}
};