当前位置:网站首页>【LeetCode】118.杨辉三角
【LeetCode】118.杨辉三角
2022-07-31 10:03:00 【酥酥~】
题目
给定一个非负整数 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
题解
f(i,0) = f(i,i) = 1
f(i,j) = f(i-1,j-1)+f(i-1,j)
class Solution {
public:
vector<vector<int>> generate(int numRows) {
vector<vector<int>> result;
for(int i=0;i<numRows;i++)
{
vector<int> tmp(i+1);
tmp[0] = tmp[i] = 1;
for(int j=1;j<i;j++)
{
tmp[j] = result[i-1][j-1]+result[i-1][j];
}
result.push_back(tmp);
}
return result;
}
};
//改良
class Solution {
public:
vector<vector<int>> generate(int numRows) {
vector<vector<int>> result(numRows);
for(int i=0;i<numRows;i++)
{
result[i].resize(i+1);
result[i][0] = result[i][i] = 1;
for(int j=1;j<i;j++)
{
result[i][j] = result[i-1][j-1]+result[i-1][j];
}
}
return result;
}
};
阶乘法
i,j从0开始编号,则f(i,j) = C(j,i)
例:C(2,4) = 6, C(1,4) = 4
略
边栏推荐
- loadrunner-controller-目标场景Schedule配置
- Build finished with errors/Executable Not Found
- The big-eyed Google Chrome has also betrayed, teach you a trick to quickly clear its own ads
- 【GORM】存取数组/自定义类型数据
- Burndown chart of project management tools: Dynamic assessment of team work ability
- 富文本编辑器Tinymce
- 如何将虚拟机上的文件复制到主机上
- Kotlin—基本语法(二)
- Flink1.15 source code reading flink-clients - flink command line help command
- 开放麒麟 openKylin 自动化开发者平台正式发布
猜你喜欢
随机推荐
js雷达图统计图表插件
OpenGL es 导读篇
恋爱期间的赠与能否撤销
loadrunner脚本--添加集合点
出色的移动端用户验证
如何判断自己是否适合IT行业?方法很简单
Are postgresql range queries faster than index queries?
NowCoderTOP23-27 Binary tree traversal - continuous update ing
如何将虚拟机上的文件复制到主机上
Gradle系列——Groovy概述,基础使用(基于Groovy文档4.0.4)day2-1
【GORM】存取数组/自定义类型数据
学习笔记——七周成为数据分析师《第二周:业务》:业务分析框架
Implement a thread pool
Day113. Shangyitong: user authentication, Alibaba Cloud OSS, patient management
VMware下安装win10
Redis Sentinel原理
Kotlin—基本语法 (五)
loadrunner录制问题
PyQt5快速开发与实战 9.4 Matplotlib在PyQt中的应用
Kotlin—基本语法(三)