988. 硬币摆放
题目:
你有 n 枚硬币,想要摆放成阶梯形状,即第 k 行恰好有 k 枚硬币。
给出 n,找到可以形成的完整楼梯行数。
n 是一个非负整数,且在32位有符号整数范围内。
样例
样例 1:
输入:n = 5
输出:2
解释:
硬币可以形成以下行:
¤
¤ ¤
¤ ¤
因为第3行不完整,我们返回2。
样例 2:
输入:n = 8
输出:3
解释:
硬币可以形成以下行:
¤
¤ ¤
¤ ¤ ¤
¤ ¤
因为第4行不完整,我们返回3。
解题思路:
这道理其实没什么难度,就是用n-1,-2,-3;看看是否刚刚可以让值为0,为0则输出i,不能就为负数,负数说明还缺几个,也就是这一行不算,即i-1;
int arrangeCoins(int n) {
int i=0;
while(n>0)
{
i++;
n=n-i;
}
if(n==0) return i;
else return i-1;
}