力扣(LeetCode) ——118.杨辉三角(C++)

题目:杨辉三角

给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。

在「杨辉三角」中,每个数是它左上方和右上方的数的和。

示例1:

输入: numRows = 5
输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]

示例2:

输入: numRows = 1
输出: [[1]]

解题思路:

需要写出二维的vector,创建vector<vector<int>>,初始化全为1,

定义两个循环i为行,j为列,前两行全为1,所以i从第二行开始小于numRows,j从第一行开始小于i,ret[i][j]的位置是上一行同下标位置的值和前一个值相加。

最终代码:

cpp 复制代码
vector<vector<int>> generate(int numRows) {
    vector<vector<int>> ret(numRows);
    for(size_t i = 0;i< numRows;++i)//初始化为1
        ret[i].resize(i+1, 1);
    for(int i = 2;i < numRows;++i)
        for(int j =1;j < i; ++j)
            //上一行同下标位置的值和前一个值相加
            ret[i][j] = ret[i-1][j]+ ret[i-1][j-1];
    return ret;

赶紧动起手来吧!!!

点击下方即可跳转
杨辉三角

相关推荐
铉铉这波能秀7 小时前
LeetCode Hot100数据结构背景知识之字典(Dictionary)Python2026新版
数据结构·python·算法·leetcode·字典·dictionary
蜡笔小马7 小时前
10.Boost.Geometry R-tree 空间索引详解
开发语言·c++·算法·r-tree
我是咸鱼不闲呀7 小时前
力扣Hot100系列20(Java)——[动态规划]总结(下)( 单词拆分,最大递增子序列,乘积最大子数组 ,分割等和子集,最长有效括号)
java·leetcode·动态规划
唐梓航-求职中8 小时前
编程-技术-算法-leetcode-288. 单词的唯一缩写
算法·leetcode·c#
仟濹8 小时前
【算法打卡day3 | 2026-02-08 周日 | 算法: BFS】3_卡码网99_计数孤岛_BFS | 4_卡码网100_最大岛屿的面积DFS
算法·深度优先·宽度优先
Ll13045252988 小时前
Leetcode二叉树part4
算法·leetcode·职场和发展
林开落L8 小时前
从零开始学习Protobuf(C++实战版)
开发语言·c++·学习·protobuffer·结构化数据序列化机制
林开落L8 小时前
从入门到了解:Protobuf、JSON、XML 核心解析(C++ 示例)
xml·c++·json·protobuffer·结构化数据序列化机制
Queenie_Charlie8 小时前
stars(树状数组)
数据结构·c++·树状数组
颜酱8 小时前
二叉树遍历思维实战
javascript·后端·算法