Java实现 LeetCode 441 排列硬币
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 排列硬币相关推荐
- leetcode 441. 排列硬币(Java版)
题目 https://leetcode-cn.com/problems/arranging-coins/ 题解 代码 for 循环中相乘要用 long,否则大数情况下会溢出 class Solutio ...
- LeetCode 441. 排列硬币(数学解方程)
1. 题目 你总共有 n 枚硬币,你需要将它们摆成一个阶梯形状,第 k 行就必须正好有 k 枚硬币. 给定一个数字 n,找出可形成完整阶梯行的总行数. n 是一个非负整数,并且在32位有符号整型的范围 ...
- LeetCode - 441 - 排列硬币(arranging-coins)
Create by jsliang on 2019-07-29 16:15:532019-07-29 17:09:31 一 目录 不折腾的前端,和咸鱼有什么区别 | 目录 | | --- | | 一 ...
- 2022-2-5 Leetcode 441.排列硬币
// class Solution {// public: // int arrangeCoins(int n) {// int i = 1; // for(;((1+i)*i)/2 <= n; ...
- Leetcode刷题100天—441. 排列硬币(数学)—day62
前言: 作者:神的孩子在歌唱 大家好,我叫智 441. 排列硬币 难度简单155收藏分享切换为英文接收动态反馈 你总共有 n 枚硬币,并计划将它们按阶梯状排列.对于一个由 k 行组成的阶梯,其第 i ...
- 【leetcode刷题】[简单]441. 排列硬币(arranging coins)-java
排列硬币 arranging coins 题目 分析 解答 题目 你总共有 n 枚硬币,你需要将它们摆成一个阶梯形状,第 k 行就必须正好有 k 枚硬币. 给定一个数字 n,找出可形成完整阶梯行的总行 ...
- 力扣441.排列硬币
题目描述 你总共有 n 枚硬币,你需要将它们摆成一个阶梯形状,第 k 行就必须正好有 k 枚硬币. 给定一个数字 n,找出可形成完整阶梯行的总行数. n 是一个非负整数,并且在32位有符号整型的范围内 ...
- LeetCode每日一题之排列硬币
前言: 大家好,今天是LeetCode每日一题的第十天,,给大家分享的是排列硬币,难度系数两颗星!废话不多说,先上题目! 1.1 题目要求 题目类型:排列硬币 题目内容: 总共有n枚硬币,将它们摆成一 ...
- java.lang.arr_jxl操作java.lang.ArrayIndexOutOfBoundsException: 441 错误的解决
评论 # re: jxl操作java.lang.ArrayIndexOutOfBoundsException: 441 错误的解决 [未登录] 2007-04-29 20:14 Robin 不错,实践 ...
最新文章
- java 打开指定文件,java解决指定应用程序打开指定文件
- 东南亚电商成长秘籍,教你从0到1把lazada店铺做起来
- 看门狗(Watch Dog)是嵌入式系统中一种常用的保证系统可靠性的技术,()会产生看门狗中断。【详细!小白也能看懂!】
- 人工智能-机器学习之Selenium(chrome驱动,火狐驱动)
- php tar.gz文件,PHP解压tar.gz格式文件的方法,_PHP教程
- Alibaba Druid未授权访问漏洞记录(敏感目录,端口:不确定)
- 二叉搜索树(二叉排序树)
- 【实战】Axis2后台Getshell
- masm5安装教程_小编为你演示win7系统使用masm5 0的操作步骤【详细说明】的恢复步骤...
- 基于SSM的企业人事管理系统(Spring+SpringMVC+Mybatis)
- 学生专用计算机abs什么意思,出现abs标志什么意思
- 读ElasticSketch笔记
- 操作系统 CentOS8 Linux内核编译一遍通过教程
- 迷宫寻径--试探回溯法
- C语言程序设计笔记(浙大翁恺版) 第五周:循环控制
- net-java-php-python-医药库存管理系统计算机毕业设计程序
- 2020Java开发工程师面试题
- 微信二次开发之图文群发上传功能
- 浅析Docker容器的应用场景
- ui动效 unity_基于Unity中的NGUI插件,通用的UI如何设计?