Java实现 LeetCode 119 杨辉三角 II

119. 杨辉三角 II

给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。
在这里插入图片描述

在杨辉三角中,每个数是它左上方和右上方的数的和。

示例:

输入: 3
输出: [1,3,3,1]
进阶:

你可以优化你的算法到 O(k) 空间复杂度吗?

PS:

  • 获取杨辉三角的指定行
  • 直接使用组合公式C(n,i) = n!/(i!*(n-i)!)
  • 则第(i+1)项是第i项的倍数=(n-i)/(i+1);
class Solution {

public List<Integer> getRow(int rowIndex) {
        List<Integer> res = new ArrayList<>(rowIndex + 1);
        long cur = 1;
        for (int i = 0; i <= rowIndex; i++) {
            res.add((int) cur);
            cur = cur * (rowIndex-i)/(i+1);
        }
        return res; 
}
}
原文地址:https://www.cnblogs.com/a1439775520/p/12946792.html