|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 zltzlt 于 2020-4-27 20:02 编辑
今天的题目:
假设现在总共有 n 枚硬币,需要将它们摆成一个阶梯形状,第 k 行就必须正好有 k 枚硬币。
找出形成完整阶梯的总行数。
示例 1:
输入:n = 5
输出:2
解释:硬币可排列成以下几行:
¤
¤ ¤
¤ ¤
因为第 3 行不完整,所以返回 2 。 示例 2:
输入:n = 8
输出:3
解释:硬币可排列成以下几行:
¤
¤ ¤
¤ ¤ ¤
¤ ¤
因为第 4 行不完整,所以返回 3 。
 欢迎大家一起答题! 
本帖最后由 March2615 于 2020-4-27 20:17 编辑
第一!!!
- from math import sqrt
- def daily385(n: int)->int:
- # 解题思路:
- # m行摆满 -> 等差数列 (m + 1) * m // 2
- # 就是求 (m + 1) * m // 2 = n 然后向下取整呗(m > 0)
- return int((sqrt(8 * n + 1) - 1)//2)
复制代码
过于简单?
|
|