力扣441.排列硬币
题目描述
你总共有 n 枚硬币,你需要将它们摆成一个阶梯形状,第 k 行就必须正好有 k 枚硬币。
给定一个数字 n,找出可形成完整阶梯行的总行数。
n 是一个非负整数,并且在32位有符号整型的范围内。
示例 1:
n = 5硬币可排列成以下几行:
¤
¤ ¤
¤ ¤因为第三行不完整,所以返回2.
示例 2:
n = 8硬币可排列成以下几行:
¤
¤ ¤
¤ ¤ ¤
¤ ¤因为第四行不完整,所以返回3.
解题思路
暴力法:通过一个循环,若恰好满足则输出i,超过了n则不足一行,输出i-1
数学方法:第k行有k个硬币,则检查剩下的硬币n能否满足第i行的硬币即可
代码
//暴力法
int arrangeCoins(int n){if(n==0)return 0;for(int i=1;i<=n;i++){if((long)(1+i)*i/2==(long)n)return i;else if((long)(1+i)*i/2>(long)n)return i-1;}return -1;
}//数学方法
int arrangeCoins(int n){int re=0;for(int i=1;i<=n;i++){re++;n-=i;}return re;
}
链接
力扣441.排列硬币相关推荐
- Java实现 LeetCode 441 排列硬币
441. 排列硬币 你总共有 n 枚硬币,你需要将它们摆成一个阶梯形状,第 k 行就必须正好有 k 枚硬币. 给定一个数字 n,找出可形成完整阶梯行的总行数. n 是一个非负整数,并且在32位有符号整 ...
- Leetcode刷题100天—441. 排列硬币(数学)—day62
前言: 作者:神的孩子在歌唱 大家好,我叫智 441. 排列硬币 难度简单155收藏分享切换为英文接收动态反馈 你总共有 n 枚硬币,并计划将它们按阶梯状排列.对于一个由 k 行组成的阶梯,其第 i ...
- LeetCode 441. 排列硬币(数学解方程)
1. 题目 你总共有 n 枚硬币,你需要将它们摆成一个阶梯形状,第 k 行就必须正好有 k 枚硬币. 给定一个数字 n,找出可形成完整阶梯行的总行数. n 是一个非负整数,并且在32位有符号整型的范围 ...
- 【leetcode刷题】[简单]441. 排列硬币(arranging coins)-java
排列硬币 arranging coins 题目 分析 解答 题目 你总共有 n 枚硬币,你需要将它们摆成一个阶梯形状,第 k 行就必须正好有 k 枚硬币. 给定一个数字 n,找出可形成完整阶梯行的总行 ...
- LeetCode - 441 - 排列硬币(arranging-coins)
Create by jsliang on 2019-07-29 16:15:532019-07-29 17:09:31 一 目录 不折腾的前端,和咸鱼有什么区别 | 目录 | | --- | | 一 ...
- leetcode 441. 排列硬币(Java版)
题目 https://leetcode-cn.com/problems/arranging-coins/ 题解 代码 for 循环中相乘要用 long,否则大数情况下会溢出 class Solutio ...
- 2022-2-5 Leetcode 441.排列硬币
// class Solution {// public: // int arrangeCoins(int n) {// int i = 1; // for(;((1+i)*i)/2 <= n; ...
- 力扣(441.26)补8.24
441.排列硬币 额,一层循环超时,答案思路是硬币数n对应的完整楼梯数从1-n中找. 二分有时要根据题目来变通,比如 mid=left+(right-left+1)/2;这里如果不加个1, 当n为2时 ...
- 力扣学习记录(每日更新)
文章目录 引言 简单 力扣:1 两数之和 力扣:20 有效的括号 力扣:21 合并两个有序链表 力扣:22 括号生成 力扣:27 移除元素 力扣: 35 搜索插入位置 力扣:70 [爬楼梯](http ...
最新文章
- ATS 4.2.3自定义日志文件格式的方法
- Guava RateLimiter限流源码解析和实例应用
- 计算机网络基础 单选题) 作业,南开大学《计算机网络基础》在线作业及答案
- 10.16 多校联测
- Java Web开发——Servlet监听器
- 重学TCP协议(9) 半连接队列、全连接队列
- typescript的类型描述_TypeScript类型声明书写详解
- sql plus 表的总记录数是多少_直播回顾 | 亿级并发丝毫不虚,TDSQL-SQL引擎是如何炼成的...
- 孤荷凌寒自学python第六十三天学习mongoDB的基本操作并进行简单封装2
- mysql文件_mysql 的各种文件详细说明
- Visual Studio Developer Assistant 3月新功能展示
- 停下来,等等灵魂(三)
- NSIS:强制结束软件进程
- 如何在Debian下快速安装中文字体
- DSP28335加密问题
- Java虚拟机类加载器及双亲委派机制
- 开源GIS(八)——开源GIS简史
- jq遍历子元素_jQuery 遍历子元素 遍历所有子元素
- 计算机桌面ie图标无法删除,Win7桌面IE图标无法删除如何解决?
- 坑爹的HTML5应用集锦
热门文章
- mysql 5.5 编译安装教程,Centos6下mysql 5.5.* 编译安装步骤详解
- python 数组打包_Python:打包多字节数组
- mysql如何优化where子句
- VS2010+OpenMP的简单使用
- 通过Word 2016 发布的内容
- Windos环境用Nginx配置反向代理和负载均衡
- kafka跨集群同步方案
- matlab 局部图放大或缩小
- 2014.11.12模拟赛【美妙的数字】| vijos1904学姐的幸运数字
- 重新学习c++--理解引用、智能指针、虚函数、模板、容器