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.
    
     Approach #1: brup force(Time Limit Exceeded)
    class Solution {
    public:
        int arrangeCoins(int n) {
            int ans = 0;
            int sum = 1;
            int num = 1;
            while (sum <= n) {
                ans++;
                sum += ++num;
            }
            return ans;
        }
    };
    

      

    Approach #2: math
    class Solution {
    public:
        int arrangeCoins(int n) {
            return floor(-0.5+sqrt((double)2*n+0.25));
        }
    };
    
    Runtime: 28 ms, faster than 28.09% of C++ online submissions for Arranging Coins.

    2. m = l + (r - l + 1) / 2; 

    永远渴望,大智若愚(stay hungry, stay foolish)
  • 相关阅读:
    时间序列表示
    Resnet——深度残差网络(二)
    Resnet——深度残差网络(一)
    基于tensorflow2.0和cifar100的VGG13网络训练
    Android实战项目——家庭记账本(七)
    iOS-基于TCP连接<Scoket-客户端>
    Xcode更新到10.0之后遇到的那些坑:
    cell右侧的状态(accessoryType)
    2020最新cocoapods详细安装和使用
    AFNetworking上传一张或多张图片,并压缩图片节约占用内存
  • 原文地址:https://www.cnblogs.com/h-hkai/p/9919118.html
Copyright © 2011-2022 走看看