leetcode118-Pascal‘s Triangle

题目

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

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

示例 1:

输入: numRows = 5

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

分析

充分利用杨辉三角的特性,俩边都是1,中间元素等于上一行当前列元素+上一行当前列元素的前一个元素和

java 复制代码
import java.util.List;
import java.util.Arrays;
import java.util.ArrayList;

public class pascaTriangle {
	public static void main(String[] args) {
		List<List<Integer>> res = getTrain(5);
		for(List<Integer> lin : res) {
			for(Integer data:lin) {
				System.out.print(data + " ");
			}
			System.out.println();
		}
	}
	public static  List<List<Integer>> getTrain(int n) {
		Integer[][] dp = new Integer[n][0];
		for(int i = 0;i<n;i++) {
			dp[i] = new Integer[i+1];
			Arrays.fill(dp[i],1);
			for(int j  =1;j<i;j++) {
				dp[i][j] = dp[i-1][j-1] + dp[i-1][j];
			}
		}
		List<List<Integer>> res = new ArrayList();
		for(int i = 0;i<n;i++) {
			res.add(Arrays.asList(dp[i]));
		}
		return res;
	}
}
相关推荐
没有bug.的程序员11 分钟前
Java内存模型(JMM)深度解析:从 volatile 到 happens-before 的底层机制
java·开发语言·并发编程·volatile·内存模型·jmm·happens-before
小徐不徐说12 分钟前
避坑指南:Qt 中 Lambda 表达式崩溃原因与高效使用实践
数据库·c++·qt·面试
雨中飘荡的记忆12 分钟前
Java注解校验实战
java
程序员杰哥15 分钟前
2026软件测试面试宝典(含答案+文档)
自动化测试·软件测试·python·测试工具·面试·职场和发展·测试用例
心丑姑娘16 分钟前
怎么理解ClickHouse的向量化执行
java·服务器·clickhouse
宵时待雨19 分钟前
数据结构(初阶)笔记归纳2:顺序表的实现
c语言·数据结构·笔记·算法
寻星探路19 分钟前
【算法进阶】滑动窗口与前缀和:从“和为 K”到“最小覆盖子串”的极限挑战
java·开发语言·c++·人工智能·python·算法·ai
阿蒙Amon24 分钟前
C#每日面试题-简述C#构造函数和析构函数
java·开发语言·c#
musenh31 分钟前
spring学习1
java·学习·spring
不爱编程爱睡觉43 分钟前
代码随想录算法训练营第四十三天 | 图论理论基础、深搜理论基础、98. 所有可达路径、广搜理论基础
算法·leetcode·图论·代码随想录