执行用时:0 ms, 在所有 Java 提交中击败了100.00%的用户
内存消耗:36.5 MB, 在所有 Java 提交中击败了8.28%的用户
class Solution {
public List<List<Integer>> generate(int numRows) {
if (numRows == 0) {
List<List<Integer>> result = new ArrayList<>();
List<Integer> list = new ArrayList<>();
result.add(list);
return result;
}
if (numRows == 1) {
List<List<Integer>> result = new ArrayList<>();
List<Integer> list = new ArrayList<>();
list.add(1);
result.add(list);
return result;
}
int[][] dp = new int[numRows][numRows];
dp[0][0] = 1;
dp[1][0] = dp[1][1] = 1;
int k = 1;
for (int i = 2; i < numRows; ++i) {
++k;
for (int j = 1; j < k; ++j) {
dp[i][0] = 1;
dp[i][k] = 1;
dp[i][j] = dp[i - 1][j - 1] + dp[i - 1][j];
}
}
List<List<Integer>> result = new ArrayList<>();
k = 0;
for (int i = 0; i < numRows; ++i) {
++k;
List<Integer> list = new ArrayList<>();
for (int j = 0; j < k; ++j) {
list.add(dp[i][j]);
}
result.add(list);
}
return result;
}
}