zoukankan      html  css  js  c++  java
  • 441. Arranging Coins

    You have a total of n coins that you want to form in a staircase shape, where every k-th row must have exactly k coins.
    
    Given n, find the total number of full staircase rows that can be formed.
    
    n is a non-negative integer and fits within the range of a 32-bit signed integer.
    
    Example 1:
    
    n = 5
    
    The coins can form the following rows:
    ¤
    ¤ ¤
    ¤ ¤
    
    Because the 3rd row is incomplete, we return 2.
    Example 2:
    
    n = 8
    
    The coins can form the following rows:
    ¤
    ¤ ¤
    ¤ ¤ ¤
    ¤ ¤
    
    Because the 4th row is incomplete, we return 3.

    要处理mid 的越界问题

    public int arrangeCoins(int n) {
            if (n == 0) return 0;
            int beg = 1, end = n;
            while (beg + 1 < end) {
                long mid = beg + (end - beg) / 2;
                if (mid * (mid + 1) / 2 <= n) {
                    beg = (int)mid;
                } else {
                    end = (int)mid;
                }            
            }
            return beg;
            
        }
    

      

  • 相关阅读:
    分数的表示和运算
    用户管理
    DML,DDL
    索引
    sql语句执行顺序
    伪劣
    序列
    视图
    完整性约束
    ASP.NET MVC学习笔记(二)登陆验证
  • 原文地址:https://www.cnblogs.com/apanda009/p/7324798.html
Copyright © 2011-2022 走看看