leetcode NO_441. 排列硬币 白痴讲解

在这里插入图片描述

我的方法是用暴力法做的。

class Solution:
    def arrangeCoins(self, n: int) -> int:
        if n==0:
            return 0;
        if n>=1:
            sum = 0;
            flag = 0;
            while sum <= n :
                flag = flag + 1
                sum = sum + flag
            return flag-1;
 

其实还可以二分查找

class Solution:
    def arrangeCoins(self, n: int) -> int:
        l = 0;
        h = n;
        while l <= h :
            m = l + (h - l) // 2;
            x = m * (m + l) // 2;
            if x == n:
                return m;
            else:
                if x < n :
                    l = m + 1;
                else:
                    h = m - 1;
        return h;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值