题解 | #牛牛分蛋糕#

牛牛分蛋糕

http://www.nowcoder.com/practice/435b7ac0d7eb4927a0ce4ef2ffcc1385

思路:二分即可,每个盘子分mid个蛋糕,看够不够分成n份,每次缩小一半规模。

时间复杂度:
空间复杂度:

class Solution {
public:
    int splitCake(int n, int a, int b) {
        // write code here
        int l = 1, r = a + b;
        while(l < r) {
            //每个盘子都分mid个蛋糕
            int mid = (l + r + 1) >> 1;
            if(a / mid + b / mid >= n) l = mid; // 够分
            else r = mid - 1; //不够分
        }
        return r;
    }
};
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务