1. 题目来源
题单:
- 待补充
2. 题目解析
思路:
- 看题意求最大、最小,很明显的二分答案,直接去二分满足条件下的最终袋子中球的个数。
- 二段性思考:
- 如果最终袋子中球都是 1 个的话,那么袋子肯定很多,操作次数就非常多。
- 如果最终袋子中球都可以装很多的时候,那么一开始都不用二分,操作次数就是 0。
- 故,二分的边界点就是这个操作次数。那么操作边界就是最终袋子中能装的球的个数,即
[1, max{nums[0~n-1]}
。
- 操作次数思考:
- 如果二分答案袋子中的球至多可装 y 个情况下。
- 那么原有袋子球在
[1,y]
的操作次数是 0,在[y+1, 2y]
的操作次数是 1。 - 数学归纳来看,nums[i] 的操作次数就是 n u m s [ i ] − 1 y {\frac{nums[i]-1}{y}} y