一、概念定义
如果你遇到要你求最大的最小值,或者最小的最大值,大概率就是二分答案,然后根据某些判断进行求解,比如说 二分 + 贪心、二分 + 动态规划、二分 + dfs、二分 + bfs、二分 + 并查集、二分 + 线段树、二分 + 前缀和 等等等等。
二、题目描述
给你一个整数数组
nums,其中nums[i]表示第i个袋子里球的数目。同时给你一个整数maxOperations。
你可以进行如下操作至多maxOperations次:
选择任意一个袋子,并将袋子里的球分到 2 个新的袋子中,每个袋子里都有 正整数 个球。比方说,一个袋子里有 5 个球,你可以把它们分到两个新袋子里,分别有 1 个和 4 个球,或者分别有 2 个和 3 个球。
你的开销是单个袋子里球数目的 最大值 ,你想要 最小化 开销。请你返回进行上述操作后的最小开销。
三、算法详解
( 1 ) (1)
本文是《算法零基础100讲》的第71讲,主要讨论如何使用二分枚举解决求最大的最小值或最小的最大值问题。文章通过一个关于袋子分球的实例,解释了如何通过二分查找和贪心策略来最小化开销,并提供了算法思路和源码分析。
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



