Pascal’s Triangle
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
public List<List<Integer>> generate(int numRows) { List<List<Integer>> ans = new ArrayList<List<Integer>>(); if (numRows == 0) return ans; List<Integer> parent = new ArrayList<Integer>(); parent.add(1); ans.add(new ArrayList<Integer>(parent)); for (int i = 1; i < numRows; ++i) { List<Integer> children = new ArrayList<Integer>(i + 1); for (int j = 0; j < i + 1; ++j) children.add(1); for (int j = 1; j < parent.size(); ++j) { children.set(j, parent.get(j) + parent.get(j-1)); } parent = children; ans.add(new ArrayList<Integer>(parent)); } return ans; }
|
Pascal’s Triangle II
这题恶心人的地方在于,k-th竟然 k从0开始计数的。wtf!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
public List<Integer> (int rowIndex) { List<Integer> ans = new ArrayList<Integer>(); ans.add(1); if (rowIndex == 0) return ans; for (int i = 1; i <= rowIndex; ++i) { List<Integer> children = new ArrayList<Integer>(i + 1); for (int j = 0; j < i + 1; ++j) children.add(1); for (int j = 1; j < ans.size(); ++j) { children.set(j, ans.get(j) + ans.get(j-1)); } ans = children; } return ans; }
|
近期评论