力扣:118. 杨辉三角

力扣:118. 杨辉三角

描述

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

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

示例 1:

输入: numRows = 5

输出: \[1,1,1,1,2,1,1,3,3,1,1,4,6,4,1]

示例 2:

输入: numRows = 1

输出: \[1]

提示:

1 <= numRows <= 30

数学

第二行开始,除了边上的数字固定为1外,中间的数字都可以用triij = trii - 1j + trii - 1 j - 1;表示

cpp 复制代码
#include<iostream>
#include<vector>
using namespace std;

class Solution{
public:
	vector<vector<int>> generate(int numRows){
		vector<vector<int>> tri(numRows);
		for(int i = 0; i < numRows; i++){
			tri[i].resize(i + 1);
			tri[i][0] = tri[i][i] = 1;
			for(int j = 1; j < i; ++j){
				tri[i][j] = tri[i - 1][j] + tri[i - 1 ][j - 1];
			}
		}
		return tri;
	}
};


int main()
{
	Solution solution;
	int numRows = 5;
	vector<vector<int>> result = solution.generate(numRows);
	for (const auto& row : result) {
        for (int num : row) {
            cout << num << " ";
        }
        cout << endl;
    }
	return 0;
}


力扣:118. 杨辉三角

相关推荐
未若君雅裁18 小时前
算法复杂度与数据结构:Java 集合篇的第一块基石
java·数据结构·算法
春日见19 小时前
五分钟入门 强化学习---Q-Learning算法与实现
人工智能·python·深度学习·算法·机器学习·计算机视觉
Zldaisy3d19 小时前
全球唯一仿真驱动自适应扫描路径新版本发布,金属3D打印工艺开发进入算法时代
算法·3d
小江的记录本19 小时前
【JVM虚拟机】类加载机制:类加载全流程:加载→验证→准备→解析→初始化(附《思维导图》+《面试高频考点清单》)
java·jvm·spring boot·算法·安全·spring·面试
故事和你9120 小时前
洛谷-【动态规划2】线性状态动态规划4
开发语言·数据结构·c++·算法·动态规划·图论
不吃土豆的马铃薯20 小时前
Socket 网络编程实战教程
linux·服务器·开发语言·网络·c++·算法
weixin_4684668521 小时前
图像滤波算法新手实战指南
图像处理·人工智能·算法·计算机视觉·ai·机器视觉·滤波
Ulyanov21 小时前
深入QML-Python通信 构建响应式交互界面的桥梁设计:QML+PySide6现代开发入门(五)
开发语言·python·算法·交互·qml·系统仿真
重生之我是Java开发战士21 小时前
【贪心算法】加油站,单调递增的数字,坏了的计算器,合并区间,用最少数量的箭引爆气球
算法·贪心算法
小欣加油21 小时前
leetcode 3300 替换为数位和后的最小元素
数据结构·c++·算法·leetcode