Datawhale leetcode day3 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;

猜你喜欢

转载自blog.csdn.net/qq_35547281/article/details/88982467