Java/118. Pascal's Triangle I 楊輝三角 I
阿新 • • 發佈:2019-01-02
題目
程式碼部分一(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; } }