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

相关推荐
乐迪信息2 分钟前
乐迪信息:AI防爆摄像机在船舶监控的应用
大数据·网络·人工智能·算法·无人机
放荡不羁的野指针6 分钟前
leetcode150题-滑动窗口
数据结构·算法·leetcode
小龙报28 分钟前
【C语言进阶数据结构与算法】单链表综合练习:1.删除链表中等于给定值 val 的所有节点 2.反转链表 3.链表中间节点
c语言·开发语言·数据结构·c++·算法·链表·visual studio
三川6981 小时前
面试题目记录
面试·职场和发展
程序员杰哥1 小时前
性能测试详解
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·性能测试
TracyCoder1231 小时前
LeetCode Hot100(13/100)——238. 除了自身以外数组的乘积
算法·leetcode
CoderCodingNo1 小时前
【GESP】C++五级练习题 luogu-P3353 在你窗外闪耀的星星
开发语言·c++·算法
Anastasiozzzz1 小时前
LeetCode Hot100 215. 数组中的第K个最大元素
数据结构·算法·leetcode
让我上个超影吧1 小时前
【力扣76】最小覆盖子串
算法·leetcode·职场和发展
近津薪荼2 小时前
优选算法——双指针5(单调性)
c++·学习·算法