力扣: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外,中间的数字都可以用tri[i][j] = tri[i - 1][j] + tri[i - 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. 杨辉三角

相关推荐
迷茫不知归路7 分钟前
操作系统实验习题解析 上篇
c++·算法·操作系统·实验课设
愚润求学27 分钟前
【递归、搜索与回溯】专题一:递归(二)
c++·笔记·算法·leetcode
水水沝淼㵘1 小时前
嵌入式开发学习日志(数据结构--顺序结构单链表)Day19
linux·服务器·c语言·数据结构·学习·算法·排序算法
June`1 小时前
专题四:综合练习( 找出所有子集的异或总和再求和)
c++·算法·深度优先·剪枝
Magnum Lehar2 小时前
3d游戏引擎的Utilities模块实现下
c++·算法·游戏引擎
JANYI20182 小时前
C语言易混淆知识点详解
java·c语言·算法
绒绒毛毛雨3 小时前
广告推荐算法入门 day1 --项目选型
算法·推荐算法
天真小巫3 小时前
2025.5.13总结
职场和发展
越城3 小时前
数据结构中的栈与队列:原理、实现与应用
c语言·数据结构·算法
wang__123003 小时前
力扣2094题解
算法·leetcode·职场和发展