[二分法]leetcode1283:使结果不超过阈值的最小除数(medium)

编程入门 行业动态 更新时间:2024-10-28 19:22:15

[二分法]leetcode1283:使结果不超过阈值的最小<a href=https://www.elefans.com/category/jswz/34/1651527.html style=除数(medium)"/>

[二分法]leetcode1283:使结果不超过阈值的最小除数(medium)

题目:


思路:

看到求最大/最小,就先往二分答案上想。


代码如下:

class Solution {
public:// 思路:二分寻找商之和小于等于t的最小除数int smallestDivisor(vector<int>& a, int t) {int l=1,r=*max_element(a.begin(),a.end());while(l<r){int mid=(l+r)>>1,sum=0;for(int x:a)sum+=(x+mid-1)/mid;if(sum<=t)r=mid;// sum<=t,说明初试mid刚好满足情况,则在左区间寻找更小的除数else l=mid+1;// sum>t:说明除数mid太小了,在右区间寻找更大的除数即可}return l;}
};

更多推荐

[二分法]leetcode1283:使结果不超过阈值的最小除数(medium)

本文发布于:2023-07-28 18:53:37,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1279968.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:除数   阈值   不超过   最小   medium

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!