Leetcode 441. Arranging Coins

關關的刷題日記發表於2018-01-08

題目的意思是一共有n個硬幣,需要將它們擺成樓梯的形狀,第k節樓梯有k枚硬幣。求一共可以擺滿多少層樓梯。

 

方法1:擺滿k層樓梯,一共需要(1+k)*k/2枚硬幣。令(1+k)*k/2=n,求出的k取整就是所求。不過要注意8*n有可能越界,所以要用8.0*n,這樣8.0是double,8.0*n也就變成了double.

class Solution {
public:
    int arrangeCoins(int n) {
        return (sqrt(1+8.0*n)-1)/2;
    }
};


相關文章