1283. 使结果不超过阈值的最小除数
2022/1/12 6:07:43
本文主要是介绍1283. 使结果不超过阈值的最小除数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
给你一个整数数组 nums 和一个正整数 threshold ,你需要选择一个正整数作为除数,然后将数组里每个数都除以它,并对除法结果求和。
请你找出能够使上述结果小于等于阈值 threshold 的除数中 最小 的那个。
每个数除以除数后都向上取整,比方说 7/3 = 3 , 10/2 = 5 。
题目保证一定有解。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/find-the-smallest-divisor-given-a-threshold
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
import java.util.Arrays; class Solution { private int getSum(int[] nums, int divide) { int ans = 0; for (int num : nums) { if (num % divide == 0) { ans += num / divide; } else { ans += num / divide + 1; } } return ans; } public int smallestDivisor(int[] nums, int threshold) { int max = Arrays.stream(nums).max().getAsInt(); int left = 1, right = max; int ans = 1; while (left <= right) { int mid = (left + right) >> 1; if (getSum(nums, mid) <= threshold) { ans = mid; right = mid - 1; } else { left = mid + 1; } } return ans; } }
这篇关于1283. 使结果不超过阈值的最小除数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南