118. 杨辉三角
题目:
思路:
【1】模拟的方式
杨辉三角形本质上可以转换成这种形式
0:1
1:1 1
2:1 2 1
3:1 3 3 1
这里存在规律,就是首尾都必须是1,
且中间部分的值为
当第三层的时候
下标为1的3的值是由第二层的下标0+下标1的值组合成的
故A[3][1] = A[2][0] + A[2][1]
代码展示:
//时间1 ms 击败 96.54% //内存40 MB 击败 66.2% class Solution { public List<List<Integer>> generate(int numRows) { List<List<Integer>> res = new ArrayList<>(); for (int i = 0; i < numRows; i++){ List<Integer> temp = new ArrayList<Integer>(); temp.add(1); res.add(temp); } for (int i = 1; i < numRows; i++){ List<Integer> t1 = res.get(i-1); List<Integer> t2 = res.get(i); for (int j = 1; j < i; j++){ t2.add(t1.get(j)+t1.get(j-1)); } t2.add(t1.get(i-1)); } return res; } }