博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【leetcode之旅】数组 - 118.杨辉三角
阅读量:2057 次
发布时间:2019-04-28

本文共 1223 字,大约阅读时间需要 4 分钟。

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

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

示例:

输入: 5输出:[     [1],    [1,1],   [1,2,1],  [1,3,3,1], [1,4,6,4,1]]
public class PascalTriangle {    public static void main(String[] args) {        List
> generate = new PascalTriangle().generate(5); for (List
integerList : generate){ for (int i = 0; i < 5 - integerList.size(); i++) { System.out.print(" "); } for (int i = 0; i < integerList.size(); i++) { System.out.print(integerList.get(i) + " "); } System.out.println(); } } /** * 小的集合用于存储每一行的数据 * 大的集合用于存储小的集合 * @param numRows * @return */ public List
> generate(int numRows) { List
> lists = new ArrayList<>(); List
integerList = new ArrayList<>(); //循环遍历numRows for (int i = 0; i < numRows; i++) { //将每次的数进行初始化为1 integerList.add(0,1); //当集合大于2时,进入该循环,将除了第一个数和尾数的值通通经过上一个数的相邻的和加起来,并修改值 for (int j = 1; j < integerList.size() - 1; j++) { integerList.set(j,integerList.get(j+1) + integerList.get(j)); } //重新创建一个新集合,将数据添加到总集合中 lists.add(new ArrayList<>(integerList)); } return lists; }}

测试结果:

 

 

 

 

你可能感兴趣的文章
(PAT 1019) General Palindromic Number (进制转换)
查看>>
(PAT 1073) Scientific Notation (字符串模拟题)
查看>>
(PAT 1080) Graduate Admission (排序)
查看>>
Play on Words UVA - 10129 (欧拉路径)
查看>>
mininet+floodlight搭建sdn环境并创建简答topo
查看>>
【UML】《Theach yourself uml in 24hours》——hour2&hour3
查看>>
【linux】nohup和&的作用
查看>>
【UML】《Theach yourself uml in 24hours》——hour4
查看>>
Set、WeakSet、Map以及WeakMap结构基本知识点
查看>>
【NLP学习笔记】(一)Gensim基本使用方法
查看>>
【NLP学习笔记】(二)gensim使用之Topics and Transformations
查看>>
【深度学习】LSTM的架构及公式
查看>>
【深度学习】GRU的结构图及公式
查看>>
【python】re模块常用方法
查看>>
【JavaScript】call()和apply()方法
查看>>
【JavaScript】箭头函数与普通函数的区别
查看>>
前端面试题
查看>>
【JavaScript】常用方法记录
查看>>
C++ 数据存储类型
查看>>
39. Combination Sum
查看>>