首页 > 其他 > 详细

【二分查找】1283. 使结果不超过阈值的最小除数

时间:2020-05-05 15:29:51      阅读:84      评论:0      收藏:0      [点我收藏+]

题目:

技术分享图片

 

 

解答:

技术分享图片

 

 

 1 class Solution {
 2 public:
 3     int smallestDivisor(vector<int>& nums, int threshold) 
 4     {
 5         int l = 1, r = *max_element(nums.begin(), nums.end());
 6         int ans = -1;
 7         while (l <= r) 
 8         {
 9             int mid = (l + r) / 2;
10             int total = 0;
11             for (int num: nums) 
12             {
13                 total += (num - 1) / mid + 1;
14             }
15             if (total <= threshold) 
16             {
17                 ans = mid;
18                 r = mid - 1;
19             }
20             else 
21             {
22                 l = mid + 1;
23             }
24         }
25         return ans;
26     }
27 };

 

【二分查找】1283. 使结果不超过阈值的最小除数

原文:https://www.cnblogs.com/ocpc/p/12830521.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!