Question: Given a row index, return the triangle at the index layer of the Pascal triangle
Algorithm: generate an index-layer Pascal triangle and return the index-level triangle.
public class Solution { public List<Integer> getRow(int rowIndex) { if (rowIndex < 0) { return null; } List<List<Integer>> pascalTriangle = new ArrayList<List<Integer>>(); for (int i=0; i<=rowIndex; ++i) { if (i == 0) { List<Integer> currTriangle = new ArrayList<Integer>(); currTriangle.add(1); pascalTriangle.add(i, currTriangle); } else { List<Integer> currTriangle = new ArrayList<Integer>(); List<Integer> lastTriangle = pascalTriangle.get(i-1); int lastInteger = 0; for (int j=0; j<lastTriangle.size(); ++j) { currTriangle.add(lastInteger + lastTriangle.get(j)); lastInteger = lastTriangle.get(j); } currTriangle.add(1); pascalTriangle.add(currTriangle); } }// end of for return pascalTriangle.get(rowIndex); }}
Pascal's triangle II