首页 > 其他分享 >【lc】441. 排列硬币

【lc】441. 排列硬币

时间:2023-08-29 09:55:21浏览次数:32  
标签:right return lc 硬币 441 mid cal self left

链接

https://leetcode.cn/problems/arranging-coins/description/

问题分析

这题看数据规模,遍历肯定搞不定。

看数据规律,我们优先考虑二分。

然后单拎出来一个函数用来计算求和即可。

其中,二分如果不好判断边界,就假定极限情况(来到了left == right的情况),看看最后你要的值是left还是right,直接返回即可。

代码

class Solution:
    def arrangeCoins(self, n: int) -> int:
        if n < 2:
            return n
        left, right = 1, n
        while left <= right:
            mid = (left + right) >> 1
            if self.cal(mid) < n:
                left = mid + 1
            elif self.cal(mid) == n:
                return mid
            else:
                right = mid - 1
        return right

    def cal(self, n):
        return (1 + n) * n // 2

 

标签:right,return,lc,硬币,441,mid,cal,self,left
From: https://www.cnblogs.com/bjfu-vth/p/17663971.html

相关文章

  • Leetcode 剑指Offer 05. 替换空格(Ti huan kong ge lcof)
    题目链接请实现一个函数,把字符串s中的每个空格替换成"%20"。示例1:输入:s="Wearehappy."输出:"We%20are%20happy."提示:0<=s的长度<=10000思路直接提交returns.replace("","%20"),常用方法信手拈来可不是每个人都能做到的(笑我的思路是首先定义一个leng......
  • sqlalchemy使用简单教程
    一、基本使用importtimeimportthreadingimportsqlalchemyfromsqlalchemyimportcreate_enginefromsqlalchemy.engine.baseimportEngine#第一步生成一个engine对象engine=create_engine("mysql+pymysql://root:[email protected]:3306/flask?charset=utf8",......
  • SLC > TLC > MLC > QLC的区别
    slc(单层存储单元)理论擦写次数10万次,mlc(双层存储单元)3000-10000次;tlc(三层存储单元)500-1000次;qlc(四层存储单元)仅仅150次1、生产成本上slc>mlc>tlc>qlc2、读写速度上slc>mlc>tlc>qlc3、在使用寿命上slc>mlc>tlc>qlc固态硬盘和U盘里的slc、mlc、tlc、qlc颗粒有什么区别?我们计算一下使用......
  • Newbie_calculations
    拿到这道题是个应用程序,经过上次的经验就跟程序交互了一下,结果根本交互不了,输入什么东西都没有反应然后打开ida分析发现有几个函数还有一堆的操作数,看到这一堆东西就没心思分析了,后面才知道原来就是要简化函数别人的wp一共有sub_291000、sub_291100和sub_291220三个函数,导致......
  • VirtualCamera虚拟相机实时拍照教程
    VirtualCamera虚拟相机实时拍照教程简介说明:虚拟相机实时拍照可以替换一些app需要实时拍照,但不能选择本地相册图片的应用,当使用该应用的时候,可以做到将相册中的照片替换成实时拍照的照片,以做到某些条件下无法实时拍照的要求。一、适用机型及系统1、机型:iphone6、6s、6p、7、7p、......
  • VirtualCamera虚拟相机实时视频使用教程
    VirtualCamera虚拟相机实时视频使用教程简介说明VirtualCamera虚拟相机实时视频主要用于直播平台带货直播,无人直播,视频通话等场景,视频时长不限,大小不限,高清实时替换,可动态调节快慢。注意,使用过程中视频声音是无法发送过去的,声音来着外部接收,就如我们视频通话时一样,声音来自外部。......
  • TFT_LCD液晶屏驱动
    第42章、TFT_LCD液晶屏驱动【42.1理论】1.TFT_LCD简介【液晶显示器】:简称LCD(LiquidCrystalDisplay),相对于上一代CRT显示器(阴极射线管显示器),LCD显示器具有功耗低、体积小、承载的信息量大及不伤眼的优点,因而它成为了现在的主流电子显示设备,其中包括电视、电脑显......
  • TFT_LCD 字符显示
    第43章、TFT_LCD字符显示【实战】实验目标:在TFT显示屏中心位置显示金色“野火科技”四个汉字,字符外的背景颜色为黑色。每个汉字大小为56*56,字模点阵为64*64(4个汉字大小256*64),TFT显示屏显示模式为480*270@60。【图像数据生成模块(tft_pic)】本模块的目的是,以TFT时序控制模块......
  • TFT_LCD液晶屏驱动
    第42章、TFT_LCD液晶屏驱动【42.1理论】TFT_LCD简介【液晶显示器】:简称LCD(LiquidCrystalDisplay),相对于上一代CRT显示器(阴极射线管显示器),LCD显示器具有功耗低、体积小、承载的信息量大及不伤眼的优点,因而它成为了现在的主流电子显示设备,其中包括电视、电脑显示器......
  • B3635 硬币问题
    B3635硬币问题方法一:搜索#include<bits/stdc++.h>usingnamespacestd;intm;intdfs(intn){//求凑够n元的最小硬币数 if(n<=4&&n>=1)returnn; if(n>=5&&n<=9)returnn-4; if(n>=10&&n<=11)return12-n; ret......