2014年4月24日 星期四

[LeetCode] Pascal's Triangle

Problem:
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]
]
Solution:O(n^2)

public class Solution {
    public ArrayList<ArrayList<Integer>> generate(int numRows) {
        ArrayList<ArrayList<Integer>> ret = new ArrayList<>();
        for(int i=0;i<numRows;i++){
            ArrayList<Integer> tmp = new ArrayList<>();
            tmp.add(1);
            if(i>0){
                for(int j=0;j<ret.get(i-1).size()-1;j++){
                    tmp.add(ret.get(i-1).get(j)+ret.get(i-1).get(j+1));
                }
                tmp.add(1);
            }
            ret.add(tmp);
        }
        return ret;
    }
}

沒有留言:

張貼留言