当前位置:网站首页>【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
略
边栏推荐
猜你喜欢
随机推荐
数字加分隔符
Chapter Six
让动画每次重复前都有延迟
浏览器使用占比js雷达图
Web系统常见安全漏洞介绍及解决方案-CSRF攻击
canvas粒子变幻各种形状js特效
VMware下安装win10
业务-(课程-章节-小节)+课程发布一些业务思路
细讲DDD领域驱动设计
loadrunner脚本--添加集合点
Scala basics [seq, set, map, tuple, WordCount, queue, parallel]
postgresql generate random date, random time
通过栗子来学习MySQL高级知识点(学习,复习,面试都可)
Dart Log工具类
Burndown chart of project management tools: Dynamic assessment of team work ability
Chapter VII
Redis Sentinel原理
js implements the 2020 New Year's Day countdown bulletin board
postgresql 范围查询比索引查询快吗?
【微信小程序开发】生命周期与生命周期函数