441. 排列硬币

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

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

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

示例 1:

n = 5

硬币可排列成以下几行:

¤
¤ ¤
¤ ¤

因为第三行不完整,所以返回2.
示例 2:

n = 8

硬币可排列成以下几行:

¤
¤ ¤
¤ ¤ ¤
¤ ¤

因为第四行不完整,所以返回3.

PS:
根据数学公式,k(k+1) /2 = n,可以得到其正数解为:k = sqrt(2n+1/4) - 1/2。然后求整即可。
唯一的问题是,这里2n+1/4有可能会超出sqrt函数的参数范围。
于是,我们可以变换一下, k = sqrt(2) * sqrt(n+1/8) - 1/2,这样求平方根就不会超限了。
于是,我们就有了这么一行代码

class Solution {public int arrangeCoins(int n) {return (int) (-1 + Math.sqrt(1 + 8 * (long) n)) / 2;}
}

Java实现 LeetCode 441 排列硬币相关推荐

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

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

  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. 2022-2-5 Leetcode 441.排列硬币

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

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

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

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

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

  7. 力扣441.排列硬币

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

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

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

  9. java.lang.arr_jxl操作java.lang.ArrayIndexOutOfBoundsException: 441 错误的解决

    评论 # re: jxl操作java.lang.ArrayIndexOutOfBoundsException: 441 错误的解决 [未登录] 2007-04-29 20:14 Robin 不错,实践 ...

最新文章

  1. java 打开指定文件,java解决指定应用程序打开指定文件
  2. 东南亚电商成长秘籍,教你从0到1把lazada店铺做起来
  3. 看门狗(Watch Dog)是嵌入式系统中一种常用的保证系统可靠性的技术,()会产生看门狗中断。【详细!小白也能看懂!】
  4. 人工智能-机器学习之Selenium(chrome驱动,火狐驱动)
  5. php tar.gz文件,PHP解压tar.gz格式文件的方法,_PHP教程
  6. Alibaba Druid未授权访问漏洞记录(敏感目录,端口:不确定)
  7. 二叉搜索树(二叉排序树)
  8. 【实战】Axis2后台Getshell
  9. masm5安装教程_小编为你演示win7系统使用masm5 0的操作步骤【详细说明】的恢复步骤...
  10. 基于SSM的企业人事管理系统(Spring+SpringMVC+Mybatis)
  11. 学生专用计算机abs什么意思,出现abs标志什么意思
  12. 读ElasticSketch笔记
  13. 操作系统 CentOS8 Linux内核编译一遍通过教程
  14. 迷宫寻径--试探回溯法
  15. C语言程序设计笔记(浙大翁恺版) 第五周:循环控制
  16. net-java-php-python-医药库存管理系统计算机毕业设计程序
  17. 2020Java开发工程师面试题
  18. 微信二次开发之图文群发上传功能
  19. 浅析Docker容器的应用场景
  20. ui动效 unity_基于Unity中的NGUI插件,通用的UI如何设计?

热门文章

  1. 设备树中ranges属性理解
  2. 热烈欢迎碧雯全国代理商莅临我司化妆品生产基地参观
  3. 同样是产品经理,凭什么别人能拿到15k+的月薪?
  4. 如何实现百度翻译接口——不用申请API接口密钥
  5. 1108:向量点积计算
  6. SQL Server 2008 安装问题
  7. Pygame Surface创建图像
  8. Java实现长度可变数组
  9. 找保姆APP开发有哪些需要深入思考的地方?
  10. 使用Python获取数字货币价格(附完整源码)