Pascal's Triangle

Given numRows, generate the first numRows of Pascal's triangle.

  • Time: O(n)
  • Space: O(1)
public List<List<Integer>> generate(int numRows) {
    List<List<Integer>> ret = new ArrayList<>();
    List<Integer> row, pre = null;
    for (int i = 0; i < numRows; i++) {
        row = new ArrayList<>();
        for (int j = 0; j <= i; j++) {
            if (j == 0 || j == i) {
                row.add(1);
            } else {
                row.add(pre.get(j - 1) + pre.get(j));
            }
        }
        pre = row;
        ret.add(row);
    }
    return ret;
}

results matching ""

    No results matching ""