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;
	}
}
相关推荐
喜欢小苹果的码农3 分钟前
xxl-job主流程分析
java
敖正炀4 分钟前
HashMap 源码深度拆解(JDK 7→8)
java
Yeats_Liao4 分钟前
物联网接入层技术剖析(二):epoll到底是怎么工作的
java·linux·网络·物联网·信息与通信
DevOpenClub13 分钟前
职教高考及高职分类招生控制线 API 接口
java·数据库·高考
Tsuki_tl15 分钟前
【总结】Java的线程状态
java·后端·面试·多线程·并发编程·线程状态
苦逼的猿宝21 分钟前
springboot的网页时装购物系统
java·毕业设计·springboot·计算机毕业设计
WL_Aurora21 分钟前
Java多线程编程基础与实践
java·多线程
_F_y22 分钟前
树形 DP 从入门到进阶:普通树形DP、树形背包、换根DP
c++·动态规划
xiaoxue..25 分钟前
Node.js 笔试题讲解
后端·面试·node.js
再写一行代码就下班26 分钟前
根据给定word模板,动态填充指定内容,并输出为新的word文档。(${aa}占位符方式且支持循环动态表格)
java·开发语言