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)$(不考虑返回的数组空间)
热门推荐
显卡交火需要什么条件
哪吒2香港票房逆跌破纪录,遭遇恶评两极化
微生物实验室的空气如何消毒? 药厂消毒 实验室消毒
美国食品级FDA认证标准最新指南
污水处理中的三级处理工艺
学生成绩差的原因及对策
你的年龄在古代叫什么?只有中国人才会把年龄说得这样唯美
我国科学家"点石成锦"让火星土壤变纤维,这能拿来打造火星基地吗?
桔梗属(Platycodon)种植与养护指南 - 植物特性及用途解析
北京警方“冬季行动”在全市持续开展安全隐患集中清查整治行动 守护春运“平安旅程”
志愿填报应该怎么选专业?大学专业到底怎么选?
敌人找机会想决战,我军用消其锋芒战术,诱敌深入全歼4700人
玄空飞星与家居风水格局的调整
卫生间洗手台高度合理设计及注意事项
1943年五行属什么?1943年出生是什么命?
大连文创“显眼包”,哪能忍住不带走?
“什么玩意”:现代生活的无奈与思考的出口
到底什么人在闲鱼上赚到钱了?
内存不够用,工控机卡顿?教你如何选择合适的内存配置
中国意境最美33句诗词 中国最美古诗词精选
竹鼠:一种珍贵的野生动物及其养殖价值
如何应对金属价格的剧烈波动?这种波动背后的原因是什么?
檀健次:沈翊2.0的“猎心”演技大赏
如何在银行办理企业账户的开户?
哺乳期可以喝绿豆汤吗?医生的专业解答来了
大便泡沫多的原因有哪些
盐吃太多,会危害波及多个器官
盐酸氮卓斯汀鼻喷剂成人使用的正确方法是什么
成军20年的“最畅销跨界美声组合”IL DIVO,你还记得他们吗?
支付宝上门催收是否合法?从法律角度全面解析