LeetCode 119 杨辉三角 II 解题方法详解
创作时间:
作者:
@小白创作中心
LeetCode 119 杨辉三角 II 解题方法详解
引用
CSDN
1.
https://m.blog.csdn.net/weixin_45979582/article/details/138077963
一、问题描述
给定一个非负索引 rowIndex
,返回「杨辉三角」的第 rowIndex
行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。
自我注解:实际上rowIndex
是从0开始的
二、示例及约束
示例 1:
输入:rowIndex = 3
输出:[1,3,3,1]
示例 2:
输入:rowIndex = 0
输出:[1]
示例 3:
输入:rowIndex = 1
输出:[1,1]
提示:
1 <= numRows <= 33
三、代码
方法一:递推
class Solution {
public:
vector<vector<int>> generate(int rowIndex) {
vector<vector<int>> ret(rowIndex + 1);
for (int i = 0; i <= rowIndex; i++) {
ret[i].resize(i + 1);
ret[i][0] = ret[i][i] = 1;
for (int j = 1; j <= i / 2; j++) {
ret[i][j] = ret[i - 1][j -1] + ret[i - 1][j];
if (i - j != j) {
ret[i][i - j] = ret[i][j];
}
}
}
return ret[rowIndex];
}
};
// 优化版本
class Solution {
public:
vector<int> getRow(int rowIndex) {
vector<int> pre, cur;
for (int i = 0; i <= rowIndex; ++i) {
cur.resize(i + 1);
cur[0] = cur[i] = 1;
for (int j = 1; j < i; ++j) {
cur[j] = pre[j - 1] + pre[j];
}
pre = cur;
}
return pre;
}
};
// 进一步优化
class Solution {
public:
vector<int> getRow(int rowIndex) {
vector<int> row(rowIndex + 1);
row[0] = 1;
for (int i = 1; i <= rowIndex; ++i) {
for (int j = i; j > 0; --j) {
row[j] += row[j - 1];
}
}
return row;
}
};
方法二:线性递推
class Solution {
public:
vector<int> getRow(int rowIndex) {
vector<int> row(rowIndex + 1);
row[0] = 1;
for (int i = 1; i <= rowIndex; ++i) {
row[i] = 1LL * row[i - 1] * (rowIndex - i + 1) / i;
}
return row;
}
};
四、总结
时间复杂度:
方法一:$O(rowIndex^2)$
方法二:$O(rowIndex)$
空间复杂度:
方法一:$O(1)$(不考虑返回的数组空间)
方法二:$O(1)$(不考虑返回的数组空间)
热门推荐
小产假工资发放标准是什么?
学校交两种保险:全面解析与选择指南
防己黄芪汤减肥:原理、效果与使用指南
防己黄芪汤减肥:原理、效果与使用指南
哪些国家大学含金量高
牙齿变黄了?这些美白方法帮你恢复亮白
电力复合材料:创新驱动电力装备的高性能发展
网络工程师的多元发展之路
“点线面”联动精育人才,提升社区卫生服务能力
乙木生于秋分后:解读地支藏干的命理规律
孝感失业金怎么领取?2025年孝感失业保险金领取条件
失业保险缴费基数如何确定
迈腾需要燃油添加剂吗?专业解答来了
看古代皇家园林如何筑山理水
靠自己,把日子过得越来越好的三个星座
个人养老金可投资指数基金,将会如何影响A股市场?
裁定、判决与决定:法律文书背后的不同法律效力与应用场景
特斯拉后备箱在不同车型中的尺寸差异
A800 GPU:PCIe单卡与NVLink 8卡模组对比分析
韩国丧礼为何总有食堂?明明是哀戚的严肃场合,为什么还能喝酒?
空调省电攻略:7个方法,让你轻松降低能耗!
解决电脑开机显示器闪烁问题的方法(消除闪烁)
如何正确注销移动电话卡?详细步骤解析
掌握摄影灯使用技巧,提升作品质量的实用指南
普洱茶知识:从选茶到收藏的五大讲究
提升普洱茶价值的综合策略:从种植到市场推广全解析
清理 Gmail 并节省空间的 5 个技巧
金秀贤方否认与金赛纶恋情传闻:将对爆料者提起诉讼
观察灵长类动物如何互相梳理毛发
佳能镜头型号大全(探索佳能镜头型号)