本文主要是介绍力扣刷题 杨辉三角(使用c++ vector解法),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
杨辉三角
- 题目描述
- 示例1
- 示例2
- 提示:
- 代码
题目描述
给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。
在「杨辉三角」中,每个数是它左上方和右上方的数的和。
示例1
输入: numRows = 5
输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]
示例2
输入: numRows = 1
输出: [[1]]
提示:
1 <= numRows <= 30
代码
class Solution {
public:vector<vector<int>> generate(int numRows) {vector<vector<int>> zyy(numRows);//使用vector容器开辟一个数组for(size_t i=0;i<zyy.size();i++)//给数组初始化{zyy[i].resize(i+1,0);zyy[i][0]=zyy[i][zyy[i].size()-1]=1;}for(size_t i=0;i<zyy.size();i++)//遍历数组{for(size_t j=0;j<zyy[i].size();j++){if(zyy[i][j]==0){zyy[i][j]=zyy[i-1][j]+zyy[i-1][j-1];}}}return zyy;}
};
这篇关于力扣刷题 杨辉三角(使用c++ vector解法)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!