118. Pascal's Triangle
来源:互联网 发布:大数据的主要来源于 编辑:程序博客网 时间:2024/06/06 19:43
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]]
每一行cur都是前一行pre生成出来的,从第三行开始除了首末加"1"外还需要把pre的每两个相邻的和加到cur里。
Time Complexity: O(1 + 2 + 3 + 4... + n) = O(n^2).
Space: O(1), regardless res.
public class Solution { public List<List<Integer>> generate(int numRows) { List<List<Integer>> res = new ArrayList<List<Integer>>(); if(numRows<=0) return res; List<Integer> pre =new ArrayList<Integer>(); pre.add(1); res.add(pre); for(int i=0;i<numRows-1;i++){ List<Integer> cur =new ArrayList<Integer>(); cur.add(1); //首部加第一个1 for(int j=1;j<pre.size();j++){//第三行才会进入此循环 cur.add(pre.get(j-1)+pre.get(j)); } cur.add(1);//末尾加最后一个1 res.add(cur); pre=cur; } return res; }}
阅读全文
1 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
- 小白学tkinter(pack()包管理器grid()网格管理器place()位置管理器)
- 元素位置互换之移位算法
- Javascript Array forEach()中无法return和break,代替方法some()与every()
- 关于redux的认识
- php5.6.32版本编译安装参数官方说明参考
- 118. Pascal's Triangle
- 切水王#7
- MySQL与SQLite的区别及迁移
- 2017.08.05【NOIP提高组】模拟赛B组小结
- 数组---二分查找
- 关于复选框全选,全不选以及使用按钮传值
- bzoj1668 [Usaco2006 Oct]Cow Pie Treasures 馅饼里的财富(dp)
- 2017.08.05 vao和vbo使用
- python面向对象笔记