题目
代码部分一(1ms 94.94%)
class Solution {
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> res = new ArrayList();
for(int i = 0; i < numRows; i++){
List<Integer> list = new ArrayList();
for(int j = 0; j <= i; j++){
if(j == 0 || j == i){
list.add(1);
}else{
list.add(res.get(i - 1).get(j - 1) + res.get(i - 1).get(j));
}
}
res.add(list);
}
return res;
}
}
代码部分二(1ms 94.94%)
class Solution {
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> res = new ArrayList();
if(numRows == 0) return res;
List<Integer> list1 = new ArrayList();
list1.add(1);
res.add(list1);
if(numRows == 1){
return res;
}
List<Integer> list2 = new ArrayList();
list2.add(1);
list2.add(1);
res.add(list2);
if(numRows == 2){
return res;
}
for(int n = 3; n <= numRows; n++){
List<Integer> list = new ArrayList<>();
list.add(1);
int i = 1;
for(; i < n - 1; i++){
list.add(res.get(n - 2).get(i - 1) + res.get(n - 2).get(i));
}
if(i < n)list.add(1);
res.add(list);
}
return res;
}
}
代码部分三(0ms 100%)
class Solution {
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> list = new ArrayList<List<Integer>>();
int[][] a = new int[numRows][numRows];
for(int i = 0; i< numRows; i++){
for(int j = 0 ; j< i+1; j++){
if( i == 0){
a[i][j] = 1;
}
else if( j == 0 | j == i){
a[i][j] = 1;
}else{
a[i][j] = a[i-1][j-1]+a[i-1][j];
}
}
}
for(int i = 0; i< numRows; i++){
List<Integer> jlist = new ArrayList<Integer>();
for(int j = 0 ; j< i+1; j++){
jlist.add(a[i][j]);
}
list.add(jlist);
}
return list;
}
}