LintCode 1816. 使结果不超过阈值的最小除数(二分查找)
文章目錄
- 1. 題目
- 2. 解題
1. 題目
描述
給你一個整數(shù)數(shù)組 nums 和一個正整數(shù) threshold ,你需要選擇一個正整數(shù)作為除數(shù),然后將數(shù)組里每個數(shù)都除以它,并對除法結(jié)果求和。
請你找出能夠使上述結(jié)果小于等于閾值 threshold 的除數(shù)中 最小 的那個。
每個數(shù)除以除數(shù)后都向上取整,比方說 7/3 = 3 , 10/2 = 5 。
題目保證一定有解。 1 <= nums.length <= 5 * 10^4 1 <= nums[i] <= 10^6 nums.length <= threshold <= 10^6示例 1: 輸入:nums = [1,2,5,9], threshold = 6 輸出:5 解釋:如果除數(shù)為 1 ,我們可以得到和為 17 (1+2+5+9)。 如果除數(shù)為 4 ,我們可以得到和為 7 (1+1+2+3) 。 如果除數(shù)為 5 ,和為 5 (1+1+1+2)。示例 2: 輸入:nums = [2,3,5,7,11], threshold = 11 輸出:3示例 3: 輸入:nums = [19], threshold = 5 輸出:4https://www.lintcode.com/problem/find-the-smallest-divisor-given-a-threshold/description
2. 解題
類似題目:
LeetCode 410. 分割數(shù)組的最大值(極小極大化 二分查找)
LeetCode 668. 乘法表中第k小的數(shù)(二分查找)
LeetCode 774. 最小化去加油站的最大距離(極小極大化 二分查找)
LeetCode 875. 愛吃香蕉的珂珂(二分查找)
LeetCode LCP 12. 小張刷題計劃(二分查找)
LeetCode 1011. 在 D 天內(nèi)送達(dá)包裹的能力(二分查找)
LeetCode 1102. 得分最高的路徑(優(yōu)先隊列BFS/極大極小化 二分查找)
LeetCode 1062. 最長重復(fù)子串(二分查找)
LeetCode 5438. 制作 m 束花所需的最少天數(shù)(二分查找)
LeetCode 5489. 兩球之間的磁力(極小極大化 二分查找)
LeetCode 5548. 最小體力消耗路徑(DFS + 二分查找)
- 二分查找答案,除數(shù)變大,和變小或不變,有單調(diào)性
53ms C++
我的CSDN博客地址 https://michael.blog.csdn.net/
長按或掃碼關(guān)注我的公眾號(Michael阿明),一起加油、一起學(xué)習(xí)進(jìn)步!
總結(jié)
以上是生活随笔為你收集整理的LintCode 1816. 使结果不超过阈值的最小除数(二分查找)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 天池 在线编程 有效的字符串
- 下一篇: LeetCode 549. 二叉树中最长