力扣(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;

赶紧动起手来吧!!!

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

相关推荐
智算菩萨4 分钟前
迷宫生成算法:从生成树到均匀随机,再到工程化 Python 实现
python·算法·游戏
醒过来摸鱼7 分钟前
《线性空间》专栏写作计划(目录)
算法
C雨后彩虹7 分钟前
幼儿园分班
java·数据结构·算法·华为·面试
Yupureki10 分钟前
《算法竞赛从入门到国奖》算法基础:入门篇-二分算法
c语言·开发语言·数据结构·c++·算法·visual studio
游戏23人生16 分钟前
c++ 语言教程——16面向对象设计模式(五)
开发语言·c++·设计模式
qq_4634084218 分钟前
React Native跨平台技术在开源鸿蒙中使用WebView来加载鸿蒙应用的网页版或通过一个WebView桥接本地代码与鸿蒙应用
javascript·算法·react native·react.js·开源·list·harmonyos
老王熬夜敲代码18 分钟前
C++的decltype
开发语言·c++·笔记
Jul1en_18 分钟前
【算法】位运算
算法
苏州知芯传感23 分钟前
柔性抓取的“慧眼”:MEMS 3D视觉如何让机器人精准识别无序堆叠的复杂钣金件?
算法·3d·机器人·mems
闻缺陷则喜何志丹26 分钟前
【C++组合数学】P8106 [Cnoi2021] 数学练习|普及+
c++·数学·洛谷·组合数学