zoukankan      html  css  js  c++  java
  • 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; 
    }
    }
    
  • 相关阅读:
    Java面向对象知识点总结
    JAVA编程必学必会单词集(1)
    Linux 帮助命令
    学习笔记
    day4
    复习
    day5
    day04
    day3
    day02
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13075528.html
Copyright © 2011-2022 走看看