LeetCode算法題解 441-排列硬幣【待進一步地完善】

題目描述

題解:

方法1:枚舉法(不解釋)
方法2:等差數列法【待理解】
方法3:二分法【待理解】

代碼:

class Solution {
public:
    int arrangeCoins(int n) {
        /* 方法1:枚舉 */
        if(n == 0)
        {
            return 0;
        }
        int res = 1;
        long long tmp = 0;
        for(int i = 2; ; i++)
        {
            tmp += i;
            if(tmp >= n)
            {
                return res;
            }
            res++;
        } 
        
        /* 方法2:等差數列公式法【待理解】
        return (int) (-1 + sqrt(1 + 8 * (long) n)) / 2;
        */
		
		/* 方法3:二分法【待理解】*/
    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章