【LeetCode】排列硬币

【问题】你总共有 n 枚硬币,你需要将它们摆成一个阶梯形状,第 k 行就必须正好有 k 枚硬币。
给定一个数字 n,找出可形成完整阶梯行的总行数。
n 是一个非负整数,并且在32位有符号整型的范围内。

【代码】

class Solution {
public:
    int arrangeCoins(int n) {
        long sum = 0;
        long val = 1;
        int res = 0;
        while(sum < n) {
            sum += val++;
            res++;
        }
        if (sum == n) return res;
        else return res-1;
    }
};

  

猜你喜欢

转载自www.cnblogs.com/zhudingtop/p/12130384.html