118.Pascal's Triangle

题目连接:https://leetcode.com/problems/pascals-triangle/description/ide

题目大意:给出杨辉三角的行数,打印其杨辉三角。例子以下:spa

法一:直接模拟(传说这就是dp),杨辉三角的规律是:每一个数都是其上两个元素的和。注意内层的list在每一次for循环后须要清空数值,其清空方法能够有clear()和removeAll(),但我都没有成功,因此我采用了直接new的办法。代码以下(耗时1ms):3d

 1     public List<List<Integer>> generate(int numRows) {
 2         List<List<Integer>> list = new ArrayList<List<Integer>>();
 3         for(int i = 1; i <= numRows; i++) {
 4             List<Integer> listIn = new ArrayList<Integer>();
 5             for(int j = 0; j < i; j++) {
 6                 if(j == 0 || j == i - 1) {
 7                     listIn.add(1);
 8                 }
 9                 else {
10                     listIn.add(list.get(i-2).get(j-1) + list.get(i-2).get(j));
11                 }
12             }
13             list.add(listIn);
14         }
15         return list;
16     }
View Code
相关文章
相关标签/搜索