1. 题目

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

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

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

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

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/arranging-coins
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 模拟法,不断往下加
class Solution {public:int arrangeCoins(int n) {int i = 1, line = 0;long sum = 0;while(sum < n){sum += i;++i;++line;}if(sum > n)return line-1;return line;}
};

12 ms 8.3 MB

  • 数学方法,解方程 等差数列求和 x(x+1)/2=nx(x+1)/2 = nx(x+1)/2=n, x=((8n+1)−1)/2x = (\sqrt{(8n+1)}-1)/2x=((8n+1)​−1)/2
class Solution {public:int arrangeCoins(int n) {long x = (pow(1+(long(n)<<3),0.5)-1)/2;long sum = x*(x+1)/2;if(sum > n)return x-1;return x;}
};

0 ms 6.1 MB

LeetCode 441. 排列硬币(数学解方程)相关推荐

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

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

  2. Java实现 LeetCode 441 排列硬币

    441. 排列硬币 你总共有 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刷题】[简单]441. 排列硬币(arranging coins)-java

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

  7. 2017广东工业大学程序设计竞赛决赛 题解源码(A,数学解方程,B,贪心博弈,C,递归,D,水,E,贪心,面试题,F,贪心,枚举,LCA,G,dp,记忆化搜索,H,思维题)...

    心得: 这比赛真的是不要不要的,pending了一下午,也不知道对错,直接做过去就是了,也没有管太多! Problem A: 两只老虎 Description 来,我们先来放松下,听听儿歌,一起&qu ...

  8. 九年级数学解方程50道_初中数学公式中考知识点总结,初三数学上册,九年级数学上册...

    初中数学公式中考知识点总结,初三数学上册,九年级数学上册 第二十一章 一元二次方程 知识点: 一元二次方程的解法 1.直接开平方法 利用平方根的定义直接开平方求一元二次方程的解的方法叫做直接开平方法, ...

  9. 九年级数学解方程50道_九年级数学知识点总结与重点难点总结,考前必看!

    点击阅读: [初中数学]掌握这5个必考题型,数学考试大题不丢分! 押题卷丨初一数学期末试卷(附答案+解析)可打印,覆盖全部重难点! 九年级数学(上)知识点 第二十一章  二次根式 一.知识框架 二.知 ...

最新文章

  1. Eclipse for Tricore 的安装方法
  2. 提分策略:数据采样方法最全总结!
  3. php中调用脚本,PHP中如何调用RScript脚本(附代码)
  4. 捞人宝估值数亿,已捞出数位大佬,商业模式已验证!
  5. 百度一款前端图片合成工具库MI开源啦!
  6. 前端学习(1155):常量const03
  7. 基于http的netty demo
  8. 502 proxy error解决方法_老大说,网上这种获取真实IP地址的方法不对,我不信......
  9. Linux基础-获取命令帮助与命令的查找(1)
  10. Qt编译时报堆空间不足
  11. 超强合集:OCR 文本检测干货汇总(含论文、源码、demo 等资源)
  12. 饭后Android 第四餐-BRVAH(最好用的数据适配器)(BRVAH简介,使用方法,item的点击事件,列表加载动画,添加头部、尾部,自定义ViewHolder)
  13. signapk.java_安卓签名工具(signapk)
  14. 软件测试功能测试全套常见面试题【功能测试-零基础】必备4-1
  15. Trie树(字典树)从懵逼到入门
  16. 网站跳出率高解决方法
  17. VMware添加共享硬盘
  18. Java网课①--->期末考试试卷
  19. 死锁的预防、避免、检测、解除
  20. 关于js中0==‘‘判断为True

热门文章

  1. Git常用指令及功能总结
  2. file_operations结构体分析 (设备文件的操作)
  3. Java实现连连看源代码文档_Java实现游戏连连看(有源代码)
  4. data怎么给echart传值_通用技术 VUE 子父组件传值
  5. 一篇英文文档中找出频数最多的10个单词
  6. 项目中cxf和weblogic整合时报错的问题
  7. [顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功)...
  8. SuperSlide
  9. poj1284:欧拉函数+原根
  10. C语言和C++的区别