当前位置:网站首页>【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
略
边栏推荐
猜你喜欢
随机推荐
Simple understanding of GCD
如何优雅的停止一个线程?
Qt 编译错误:C2228: “.key”的左边必须有类/结构/联合
[ 动词词组 ] 合集
多个js雷达图同时显示
LeetCode二叉树系列——101.对称二叉树
Come n times with the sword--05. Replace spaces
WEB核心【记录网站登录人数,记录用户名案例】Cookie技术实现
&#x开头的是什么编码?
Web系统常见安全漏洞介绍及解决方案-CSRF攻击
A Spark SQL online problem troubleshooting and positioning
Redis Cluster - Sentinel Mode Principle (Sentinel)
小程序如何使用订阅消息(PHP代码+小程序js代码)
前序、后序及层次遍历实现二叉树的序列化与反序列化
ReentrantLock
js department budget and expenditure radar chart
GZIPInputStream 类源码分析
Web系统常见安全漏洞介绍及解决方案-sql注入
实现线程池
matlab 读取csv文件绘图









