首页 > 其他 > 详细

441-安排硬币

时间:2019-04-16 21:31:13      阅读:136      评论:0      收藏:0      [点我收藏+]

您想要以楼梯形状形成总共n个硬币,其中每个第k行必须具有恰好k个硬币。 给定n,找到可以形成的完整楼梯行的总数。 n是一个非负整数,适合32位有符号整数的范围。

 

解法1
class 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;
        
    }
}

 

441-安排硬币

原文:https://www.cnblogs.com/dloading/p/10719934.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!