题目描述

你总共有 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.排列硬币相关推荐

  1. Java实现 LeetCode 441 排列硬币

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

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

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

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

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

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

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

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

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

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

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

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

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

  8. 力扣(441.26)补8.24

    441.排列硬币 额,一层循环超时,答案思路是硬币数n对应的完整楼梯数从1-n中找. 二分有时要根据题目来变通,比如 mid=left+(right-left+1)/2;这里如果不加个1, 当n为2时 ...

  9. 力扣学习记录(每日更新)

    文章目录 引言 简单 力扣:1 两数之和 力扣:20 有效的括号 力扣:21 合并两个有序链表 力扣:22 括号生成 力扣:27 移除元素 力扣: 35 搜索插入位置 力扣:70 [爬楼梯](http ...

最新文章

  1. ATS 4.2.3自定义日志文件格式的方法
  2. Guava RateLimiter限流源码解析和实例应用
  3. 计算机网络基础 单选题) 作业,南开大学《计算机网络基础》在线作业及答案
  4. 10.16 多校联测
  5. Java Web开发——Servlet监听器
  6. 重学TCP协议(9) 半连接队列、全连接队列
  7. typescript的类型描述_TypeScript类型声明书写详解
  8. sql plus 表的总记录数是多少_直播回顾 | 亿级并发丝毫不虚,TDSQL-SQL引擎是如何炼成的...
  9. 孤荷凌寒自学python第六十三天学习mongoDB的基本操作并进行简单封装2
  10. mysql文件_mysql 的各种文件详细说明
  11. Visual Studio Developer Assistant 3月新功能展示
  12. 停下来,等等灵魂(三)
  13. NSIS:强制结束软件进程
  14. 如何在Debian下快速安装中文字体
  15. DSP28335加密问题
  16. Java虚拟机类加载器及双亲委派机制
  17. 开源GIS(八)——开源GIS简史
  18. jq遍历子元素_jQuery 遍历子元素 遍历所有子元素
  19. 计算机桌面ie图标无法删除,Win7桌面IE图标无法删除如何解决?
  20. 坑爹的HTML5应用集锦

热门文章

  1. mysql 5.5 编译安装教程,Centos6下mysql 5.5.* 编译安装步骤详解
  2. python 数组打包_Python:打包多字节数组
  3. mysql如何优化where子句
  4. VS2010+OpenMP的简单使用
  5. 通过Word 2016 发布的内容
  6. Windos环境用Nginx配置反向代理和负载均衡
  7. kafka跨集群同步方案
  8. matlab 局部图放大或缩小
  9. 2014.11.12模拟赛【美妙的数字】| vijos1904学姐的幸运数字
  10. 重新学习c++--理解引用、智能指针、虚函数、模板、容器