領釦LintCode演算法問題答案-988. 硬幣擺放

二當家的白帽子發表於2020-09-25

領釦LintCode演算法問題答案-988. 硬幣擺放

988. 硬幣擺放

你有 n 枚硬幣,想要擺放成階梯形狀,即第 k 行恰好有 k 枚硬幣。

給出 n,找到可以形成的完整樓梯行數。

n 是一個非負整數,且在32位有符號整數範圍內。

樣例 1:

輸入:n = 5
輸出:2
解釋:
硬幣可以形成以下行:
¤
¤ ¤
¤ ¤
因為第3行不完整,我們返回2。

樣例 2:

輸入:n = 8
輸出:3
解釋:
硬幣可以形成以下行:
¤
¤ ¤
¤ ¤ ¤
¤ ¤
因為第4行不完整,我們返回3。

題解

public class Solution {
    /**
     * @param n: a non-negative integer
     * @return: the total number of full staircase rows that can be formed
     */
    public int arrangeCoins(int n) {
        // Write your code here
        return (int) (-1 + Math.sqrt(8l * n + 1)) / 2;
    }
}

原題連結點這裡

鳴謝

非常感謝你願意花時間閱讀本文章,本人水平有限,如果有什麼說的不對的地方,請指正。
歡迎各位留言討論,希望小夥伴們都能每天進步一點點。

相關文章