leetcode 118 Pascal's Triangle ----- java

时间:2023-03-10 02:10:19
leetcode 118  Pascal's Triangle ----- java

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 {
List list = new ArrayList<List<Integer>>(); public List<List<Integer>> generate(int numRows) { for( int i = 0;i<numRows;i++)
help(i+1); return list;
} public void help(int num){ List ans = new ArrayList<Integer>(); if( num == 1){
ans.add(1);
list.add(ans);
return ;
}else if( num == 2 ){
ans.add(1);
ans.add(1);
list.add(ans);
return ;
}
ArrayList<Integer> last = (ArrayList<Integer>) list.get(num-2);
ans.add(1);
int a = last.get(0);
int b = last.get(1);
for( int i = 2;i<last.size();i++){
ans.add(a+b);
a = b;
b = last.get(i);
}
ans.add(a+b);
ans.add(1);
list.add(ans);
}
}