Description
Given numRows, generate the first numRows of Pascal's triangle.
For example, given numRows = 5,
Return
Solution
DP
dp[i][j] = dp[i - 1][j - 1] + dp[i - 1][j]
class Solution {
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> rows = new ArrayList();
if (numRows < 1) return rows;
for (int i = 0; i < numRows; ++i) {
List<Integer> row = new ArrayList();
for (int j = 0; j <= i; ++j) {
if (j == 0 || j == i) {
row.add(1);
} else {
row.add(rows.get(i - 1).get(j - 1) + rows.get(i - 1).get(j));
}
}
rows.add(row);
}
return rows;
}
}