目标
给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。
在「杨辉三角」中,每个数是它左上方和右上方的数的和。
示例 1:
输入: rowIndex = 3
输出: [1,3,3,1]
示例 2:
输入: rowIndex = 0
输出: [1]
示例 3:
输入: rowIndex = 1
输出: [1,1]
说明:
- 0 <= rowIndex <= 33
进阶:
你可以优化你的算法到 O(rowIndex) 空间复杂度吗?
思路
返回杨辉三角第 rowIndex 行的元素。
代码
/**
* @date 2025-01-28 1:06
*/
public class GetRow119 {
public List<Integer> getRow(int rowIndex) {
List<Integer> res = new ArrayList<>();
res.add(1);
if (rowIndex == 0) {
return res;
}
for (int i = 1; i <= rowIndex; i++) {
int prev = res.get(0);
for (int j = 1; j < res.size(); j++) {
int cur = prev + res.get(j);
prev = res.get(j);
res.set(j, cur);
}
res.add(1);
}
return res;
}
}