118. Pascal's Triangle
来源:互联网 发布:java ee 开源框架 编辑:程序博客网 时间:2024/05/20 16:11
Given numRows, generate the first numRows of Pascal’s triangle.
For example, given numRows = 5,
Return[
[1],
[1,1],
[1,2,1],
[1,3,3,1],
[1,4,6,4,1]
]
遍历修改,一开始的代码如下:
public class Solution { public List<List<Integer>> generate(int numRows) { List<List<Integer>> pascal = new ArrayList<List<Integer>> (); for(int i = 0; i < numRows; i++) { List<Integer> list = new ArrayList<Integer> (); list.add(1); if(i > 1) { for(int j = 1; j < i; j++) { list.add(j, pascal.get(i - 1).get(j) + pascal.get(i - 1).get(j - 1)); } } if(i > 0) list.add(1); pascal.add(list); } return pascal; }}
考虑到每次新的 list 可以在上一个 list 上直接修改,这样可以减少计算步骤,代码如下:
public class Solution { public List<List<Integer>> generate(int numRows) { List<List<Integer>> pascal = new ArrayList<List<Integer>> (); List<Integer> list = new ArrayList<Integer> (); for(int i = 0; i < numRows; i++) { for(int j = i - 1; j > 0; j--) { list.set(j, list.get(j) + list.get(j - 1)); } list.add(1); pascal.add(new ArrayList<Integer>(list)); } return pascal; }}
0 0
- 118. Pascal's Triangle
- 118. Pascal's Triangle
- 118. Pascal's Triangle
- 118. Pascal's Triangle
- 118. Pascal's Triangle
- 118. Pascal's Triangle
- 118. Pascal's Triangle
- 118. Pascal's Triangle
- 118. Pascal's Triangle
- 118.Pascal's Triangle
- 118. Pascal's Triangle
- 118. Pascal's Triangle
- 118. Pascal's Triangle
- 118. Pascal's Triangle
- 118. Pascal's Triangle
- 118. Pascal's Triangle
- 118. Pascal's Triangle
- 118. Pascal's Triangle
- 戏(细)说Executor框架线程池任务执行全过程(上)
- ajax内存泄漏的解决方案以及长连接和短连接的详解
- [JQuery,前端]jQuery表格插件datatables用法详解
- android 触摸(Touch)事件、点击(Click)事件的区别(详细解析)
- IOS热更新-JSPatch实现原理+Patch现场恢复
- 118. Pascal's Triangle
- adb命令.txt
- 每日记录..
- Java操作Redis小案例
- 11 后序
- 10 使用make更新函数库文件
- ie浏览器上取到多个MAC地址
- asp.net 访问 access出现 ole_connection.ServerVersion引发了System.InvalidOperationException的解决
- JS前端实现表格下载的方法