leetcode 441题

Posted by franki on October 19, 2022

leetcode 441 排列硬币

你总共有 n 枚硬币,并计划将它们按阶梯状排列。对于一个由 k 行组成的阶梯,其第 i 行必须正好有 i 枚硬币。阶梯的最后一行 可能 是不完整的。

给你一个数字 n ,计算并返回可形成 完整阶梯行 的总行数。

示例1

输入:root = [10,5,-3,3,2,null,11,3,-2,null,1], targetSum = 8
输出:3
解释:和等于 8 的路径有 3 条,如图所示。

示例2

输入:root = [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum = 22
输出:3

思路

这里使用模拟的方法

代码

function arrangeCoins(n) {
    let k = 1;

    while (n >= k) {
        n -= k;
        k++;
    }

    return k - 1;
}

复杂度分析:

  • 时间复杂度: O(N)
  • 空间复杂度:O(1)