# 最大值最小化简介

这一类问题的原形是「木棍分割」问题,大家可以在互联网上搜索一下。我们基于「力扣」第 410 题「分割数组的最大值」开始说起,其实是一样的。

我第一次接触到这个问题的时候也觉得很绕,因此今天花一点时间和大家做一个总结。

# 总结

  • 这道题让我们「查找一个有范围的整数」,以后遇到类似问题,要想到可以尝试使用「二分」;
  • 遇到类似使「最大值」最小化,这样的题目描述,可以好好跟自己做过的这些问题进行比较,看看能不能找到关联;
  • 在代码层面上,这些问题的特点都是:在二分查找的判别函数里,需要遍历数组一次

# 练习

这些问题都如出一辙,请大家特别留意题目中出现的关键字「非负整数」、分割「连续」,思考清楚设计算法的关键步骤和原因,相信以后遇到类似的问题就能轻松应对。

  • 「力扣」第 875 题:爱吃香蕉的珂珂(中等)
  • LCP 12. 小张刷题计划(中等)
  • 「力扣」第 1482 题:制作 m 束花所需的最少天数(中等)
  • 「力扣」第 1011 题:在 D 天内送达包裹的能力(中等)
  • 「力扣」第 1552 题:两球之间的磁力(中等)

今天的分享就到这里了,感谢大家的收看和支持!

写在前面的话:在 《二分查找之「最大值极小化」相关问题及解题步骤》 (opens new window) 这个分享里,我们通过「力扣」第 410 题:「分割数组的最大值」详细讲解了这一类问题的思路分析、解题步骤、参考代码。并且给出了 道问题。

今天的分享就是这 道问题的思路分析和参考代码,供大家复习。

希望借着这篇推文能够帮助大家加深对这一类问题的敏感性,我们再为大家强调一下:

  • 搜索一个有范围的整数,可以用二分;
  • 分析题目中的单调性,通常这种单调性表现为两个变量此增彼减,即 负相关
  • 题目中 连续正整数 这两个前提缺一不可,非常非常重要,希望大家能够抓住题目中这两个关键信息,进而理解这种做法的有效性。

再次强调:写对二分查找不能靠模板,需要理解加练习。为了避免增加大家的阅读负担,并抓住重点,头两题我会把分析过程写得详细一点,后三题留给大家。


作者:liweiwei1419 链接:https://suanfa8.com/binary-search/solutions-3/introduction 来源:算法吧 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Last Updated: 11/18/2024, 11:23:03 PM