题解 | #牛牛分蛋糕#
牛牛分蛋糕
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; } };