你总共有 n 枚硬币,你需要将它们摆成一个阶梯形状,第 k 行就必须正好有 k 枚硬币。 给定一个数字 n,找出可形成完整阶梯行的总行数。 n 是一个非负整数,并且在32位有符号整型的范围内。 复制代码
示例:
n = 5 硬币可排列成以下几行: ¤ ¤ ¤ ¤ ¤ 因为第三行不完整,所以返回2. n = 8 硬币可排列成以下几行: ¤ ¤ ¤ ¤ ¤ ¤ ¤ ¤ 因为第四行不完整,所以返回3. 复制代码
思考:
定义一个curCoins记录当前行硬币数,residual表示剩余硬币数。
当满足residual >= curCoins + 1即剩余硬币数足够排列满下一行,循环递增curCoins,再在residual中减去当前行的硬币数,
直至不满足条件,就是到了最后一行,此时curCoins不会+1,即为最后行结果。
复制代码
以上所述就是小编给大家介绍的《LeetCode每日一题: 排列硬币(No.441)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 硬币找零问题之动态规划
- 深入理解动态规划算法:凑硬币
- 详解动态规划最少硬币找零问题--JavaScript实现
- 第五届蓝桥杯Java B——矩阵翻硬币
- 我们的大脑会掷硬币吗?来聊聊决策的神经机制
- Go 实现字符串全排列字典序排列详解
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
超简单!一学就懂的互联网金融
视觉图文 / 人民邮电出版社 / 2015-2-1 / 45.00元
零基础、全图解,通过130多个精辟的知识点、220多张通俗易懂的逻辑图表,让您一书在手,即可彻底看懂、玩转互联网金融从菜鸟成为达人,从新手成为互联网金融高手! 本书主要特色:最简洁的版式+最直观的图解+最实用的内容。 本书细节特色:10章专题内容详解+80多个特别提醒奉献+130多个知识点讲解+220多张图片全程图解,深度剖析互联网金融的精华之处,帮助读者在最短的时间内掌握互联网金融知......一起来看看 《超简单!一学就懂的互联网金融》 这本书的介绍吧!