【leetcode分类下所有的题解均为作者本人经过权衡后挑选出的题解,在易读和可维护性上有优势
每题只有一个答案,避免掉了太繁琐的以及不实用的方案,所以不一定是最优解】
给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。
在杨辉三角中,每个数是它左上方和右上方的数的和。
示例:
输入: 3
输出: [1,3,3,1]
进阶:
你可以优化你的算法到 O(k) 空间复杂度吗?
class Solution {
public List<Integer> getRow(int rowIndex) {
List<Integer> row = new ArrayList<Integer>();
for(int i = 0; i < rowIndex + 1; i++)
{
row.add(0,1);
for(int j = 1; j < row.size() - 1; j++)
row.set(j, row.get(j) + row.get(j + 1));
}
return row;
}
}
思路:
- 本题比杨辉三角Ⅰ要简单一些,只需要输出一行即可
- 思路和Ⅰ相同,不断地对上一行add元素,进而迭代循环,再set相应位置的值