Leetcode 118. 杨辉三角
题目
给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。
在杨辉三角中,每个数是它左上方和右上方的数的和。
测试样例
输入: 5
输出:
[
[1],
[1,1],
[1,2,1],
[1,3,3,1],
[1,4,6,4,1]
]
题解
先将第一层压入数组中,然后每一层先压一个元素1,然后根据杨辉三角的特点进行生成,最后再压一个1,便完成了新层。依次类推进行求解,详细过程见代码
代码
vector<vector<int>> generate(int numRows) {
vector<vector<int>> ans;
int i,j,n;
if(numRows == 0) return ans;
ans.push_back({1});
for(i=1; i<numRows; i++){
ans.push_back({1});
n = ans[i-1].size();
for(j=0; j<n-1; j++){
ans[i].push_back(ans[i-1][j]+ans[i-1][j+1]);
}
ans[i].push_back({1});
}
return ans;
}
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/pascals-triangle
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。