119. 杨辉三角 II
我们可以从后往前计算,这样只要一个数组就够了,例如 1 2 1,下一行比这一行对一个数,我们现在末尾加一个0,变成1 2 1 0,开始从后往前推,最后一项等于 0 + 1,倒数第二项变成1 + 2,直到推到第一项为止,第0项一直都是1,所以第0项不需要计算,结果为 1 3 3 1.
时间复杂度为O(k^2)
空间复杂度为O(1)
class Solution {
public List<Integer> getRow(int rowIndex) {
List<Integer> res = new ArrayList<>();
res.add(1);
for(int i = 1; i <= rowIndex; i++) {
res.add(0);
for(int j = i; j > 0; j--) {
res.set(j, res.get(j) + res.get(j - 1));
}
}
return res;
}
}