力扣: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. 杨辉三角

相关推荐
Wendy14417 小时前
【线性回归(最小二乘法MSE)】——机器学习
算法·机器学习·线性回归
拾光拾趣录7 小时前
括号生成算法
前端·算法
渣呵8 小时前
求不重叠区间总和最大值
算法
浮生带你学Java8 小时前
2025Java面试题及答案整理( 2025年 7 月最新版,持续更新)
java·开发语言·数据库·面试·职场和发展
拾光拾趣录8 小时前
链表合并:双指针与递归
前端·javascript·算法
好易学·数据结构8 小时前
可视化图解算法56:岛屿数量
数据结构·算法·leetcode·力扣·回溯·牛客网
香蕉可乐荷包蛋9 小时前
AI算法之图像识别与分类
人工智能·学习·算法
chuxinweihui9 小时前
stack,queue,priority_queue的模拟实现及常用接口
算法
tomato099 小时前
河南萌新联赛2025第(一)场:河南工业大学(补题)
c++·算法
墨染点香10 小时前
LeetCode Hot100【5. 最长回文子串】
算法·leetcode·职场和发展