package com.fishercoder.solutions;


import java.util.ArrayList;
import java.util.List;

/**
 * 118. Pascal's Triangle
 * 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 _118 {

    public List<List<Integer>> generate(int numRows) {
        List<List<Integer>> result = new ArrayList();
        int len = 1;
        for (int i = 0; i < numRows; i++) {
            List<Integer> row = new ArrayList(len);
            row.add(1);
            if (i > 0) {
                List<Integer> lastRow = result.get(i - 1);
                for (int j = 1; j < len; j++) {
                    if (j < lastRow.size()) {
                        row.add(lastRow.get(j - 1) + lastRow.get(j));
                    }
                }
                row.add(1);
            }
            result.add(row);
            len++;
        }
        return result;
    }
}

@@ -29,17 +29,16 @@
 tions;%0A%0A
-%0A
 import j
@@ -312,16 +312,50 @@
 _118 %7B%0A%0A
+  public static class Solution1 %7B%0A
     publ
@@ -403,26 +403,24 @@
 ws) %7B%0A      
-  
 List%3CList%3CIn
@@ -459,18 +459,16 @@
 ;%0A      
-  
 int len 
@@ -472,18 +472,16 @@
 en = 1;%0A
-  
       fo
@@ -514,36 +514,32 @@
  i++) %7B%0A        
-    
 List%3CInteger%3E ro
@@ -562,36 +562,32 @@
 t(len);%0A        
- 
-   
 row.add(1);%0A    
@@ -586,28 +586,24 @@
 1);%0A        
-   
- 
 if (i %3E 0) %7B
@@ -613,22 +613,16 @@
         
-    
-  
 List%3CInt
@@ -666,22 +666,16 @@
         
-      
 for (int
@@ -710,24 +710,16 @@
         
-   
-     
 if (j %3C 
@@ -746,34 +746,24 @@
             
-      
-    
 row.add(last
@@ -804,32 +804,24 @@
             
-        
 %7D%0A          
@@ -816,36 +816,26 @@
 %7D%0A          
- 
-     %7D%0A    
+%7D%0A
             
@@ -824,34 +824,32 @@
     %7D%0A          
-  
 row.add(1);%0A    
@@ -840,28 +840,24 @@
 row.add(1);%0A
-    
         %7D%0A  
@@ -862,20 +862,16 @@
         
-    
 result.a
@@ -887,20 +887,16 @@
         
- 
-   
 len++;%0A 
@@ -892,38 +892,34 @@
    len++;%0A      
-  %7D%0A  
+%7D%0A
       return res
@@ -929,10 +929,14 @@
 ;%0A    %7D%0A
+  %7D%0A
 %7D%0A

refactor 118