问题描述:

你总共有 枚硬币,你需要将它们摆成一个阶梯形状,第 行就必须正好有 枚硬币。

给定一个数字 n,找出可形成完整阶梯行的总行数。

是一个非负整数,并且在32位有符号整型的范围内。

示例 1:

n = 5硬币可排列成以下几行:
¤
¤ ¤
¤ ¤因为第三行不完整,所以返回2.

示例 2:

n = 8硬币可排列成以下几行:
¤
¤ ¤
¤ ¤ ¤
¤ ¤因为第四行不完整,所以返回3.

方法1:

 1 class Solution(object):
 2     def arrangeCoins(self, n):
 3         """
 4         :type n: int
 5         :rtype: int
 6         """
 7         low = 0
 8         high = n
 9
10         while low<=high:
11             mid = int((low+high)//2)
12
13             if mid*(mid+1)/2 <= n < (mid+1)*(mid+2)/2:
14                 return mid
15             elif mid*(mid+1)/2 > n:
16                 high = mid-1
17             elif (mid+1)*(mid+2)/2 <= n:
18                 low = mid + 1        

AMAZING:

1 class Solution(object):
2     def arrangeCoins(self, n):
3         return int(((8*n + 1)**0.5 - 1)/2)

同上:

class Solution(object):def arrangeCoins(self, n):""":type n: int:rtype: int"""k = int((2*n+0.25)**0.5-0.5)return k

2018-10-03 21:33:05

转载于:https://www.cnblogs.com/NPC-assange/p/9740962.html

LeetCode--441--排列硬币相关推荐

  1. Java实现 LeetCode 441 排列硬币

    441. 排列硬币 你总共有 n 枚硬币,你需要将它们摆成一个阶梯形状,第 k 行就必须正好有 k 枚硬币. 给定一个数字 n,找出可形成完整阶梯行的总行数. n 是一个非负整数,并且在32位有符号整 ...

  2. LeetCode 441. 排列硬币(数学解方程)

    1. 题目 你总共有 n 枚硬币,你需要将它们摆成一个阶梯形状,第 k 行就必须正好有 k 枚硬币. 给定一个数字 n,找出可形成完整阶梯行的总行数. n 是一个非负整数,并且在32位有符号整型的范围 ...

  3. LeetCode - 441 - 排列硬币(arranging-coins)

    Create by jsliang on 2019-07-29 16:15:532019-07-29 17:09:31 一 目录 不折腾的前端,和咸鱼有什么区别 | 目录 | | --- | | 一 ...

  4. leetcode 441. 排列硬币(Java版)

    题目 https://leetcode-cn.com/problems/arranging-coins/ 题解 代码 for 循环中相乘要用 long,否则大数情况下会溢出 class Solutio ...

  5. 2022-2-5 Leetcode 441.排列硬币

    // class Solution {// public: // int arrangeCoins(int n) {// int i = 1; // for(;((1+i)*i)/2 <= n; ...

  6. Leetcode刷题100天—441. 排列硬币(数学)—day62

    前言: 作者:神的孩子在歌唱 大家好,我叫智 441. 排列硬币 难度简单155收藏分享切换为英文接收动态反馈 你总共有 n 枚硬币,并计划将它们按阶梯状排列.对于一个由 k 行组成的阶梯,其第 i ...

  7. 【leetcode刷题】[简单]441. 排列硬币(arranging coins)-java

    排列硬币 arranging coins 题目 分析 解答 题目 你总共有 n 枚硬币,你需要将它们摆成一个阶梯形状,第 k 行就必须正好有 k 枚硬币. 给定一个数字 n,找出可形成完整阶梯行的总行 ...

  8. 力扣441.排列硬币

    题目描述 你总共有 n 枚硬币,你需要将它们摆成一个阶梯形状,第 k 行就必须正好有 k 枚硬币. 给定一个数字 n,找出可形成完整阶梯行的总行数. n 是一个非负整数,并且在32位有符号整型的范围内 ...

  9. LeetCode每日一题之排列硬币

    前言: 大家好,今天是LeetCode每日一题的第十天,,给大家分享的是排列硬币,难度系数两颗星!废话不多说,先上题目! 1.1 题目要求 题目类型:排列硬币 题目内容: 总共有n枚硬币,将它们摆成一 ...

  10. LeetCode简单题之排列硬币

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

最新文章

  1. python读取本地文件-python解析本地HTML文件
  2. C++通过vmware.exe检测虚拟机
  3. vi文本编辑器的使用
  4. 大数据批量插入小练习_SqlServer
  5. Linux中基于eBPF的恶意利用与检测机制(rootkit、驱动)
  6. 电子支付公司Nuvei支持BTC等近40种加密货币
  7. PHP unicode与普通字符串的相互转化
  8. Excel闪退问题解决办法
  9. STM8L051F3_0d_基础介绍
  10. 关联规则增量更新算法——FUP算法
  11. word-wrap和word-break,white-space的区别
  12. 注册网站域名多少钱_申请域名多少钱
  13. js jquery 3D模型展示
  14. CSS常用英语词汇大全
  15. word 排版大师1.36版本发布啦。
  16. NGINX工作原理解析
  17. 优品商城-建表(user、member-goods、goods_cart、category、order、spec-address、province、city、county)
  18. npm和cnpm的区别和安装
  19. thinkphp 添加图片 文字 水印生成带二维码的小程序推广海报
  20. AD接口测试工装研究

热门文章

  1. 渗透测试工程是的主要工作
  2. 基于MPC的移动机器人轨迹跟踪控制qpOASES例程
  3. 【git】error: .repo/manifests/: contains uncommitted changes解决思路
  4. syslog日志转换器_游侠原创:Windows日志转SYSLOG工具——nxlog
  5. idhttp的socket error # 10054 错误的处理办法
  6. GitHub 又一黑科技项目面世!网友惊呼:这也太强了
  7. 高通MTK麒麟 手机平台USB3.0方案对比
  8. PKUSC 2018 旅游记
  9. 帝国cms栏目添加二级域名
  10. 高德打车通用可编排订单状态机引擎设计