您想要以楼梯形状形成总共n个硬币,其中每个第k行必须具有恰好k个硬币。 给定n,找到可以形成的完整楼梯行的总数。 n是一个非负整数,适合32位有符号整数的范围。
解法1class Solution { public int arrangeCoins(int n) { int sum=0; int temp=0; for(int i=1;i<=n;i++) { sum+=i; if(n-sum<0) { temp=i-1; break; }else if(n-sum==0){ temp=i; break; } } return temp; }优化后:public class Solution { public int arrangeCoins(int n) { int i=0; while(n > 0){ i+=1; n-=i; } return n==0 ? i : i-1; }}