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

赶紧动起手来吧!!!

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

相关推荐
ProgramHelpOa几秒前
Optiver 2026 OA 全面复盘|26NG / Intern 最新高频题型整理
人工智能·算法·机器学习
feifeigo123几秒前
基于无迹变换的电网概率潮流分析 MATLAB 实现
开发语言·算法·matlab
Java成神之路-3 分钟前
【算法刷题笔记】全题型导航目录
笔记·算法
爱写代码的倒霉蛋5 分钟前
2022年天梯赛L1-8真题解析(哈希+排序)
数据结构·算法
Struggle_975512 分钟前
算法知识-倍增算法
算法
计算机安禾15 分钟前
【计算机网络】第5篇:网桥学习与生成树算法——环路拓扑中的路径收敛问题
学习·计算机网络·算法
CoderCodingNo16 分钟前
【信奥业余科普】C++ 的奇妙之旅 | 19:内存的门牌号——地址与指针的设计原理
开发语言·c++
fie888918 分钟前
基于遗传算法的机械故障诊断MATLAB程序
算法·机器学习·matlab
澈20721 分钟前
C++ list容器完全指南
数据结构·c++·链表
nlpming22 分钟前
opencode MCP(Model Context Protocol)配置手册
算法