刷题
刷题
learn
learn
日期
Oct 25, 2024
狭义的贪心
- 每一步都做出在当前状态下最好或最优的选择,从而希望最终的结果是最好或者最优的算法
广义的贪心
- 通过分析题目自身的特点和性质,只要发现让求解答案的过程得到加速的结论,都算广义的贪心
- 贪心是最符合自然智慧的思想,一般分析门槛不高;
- 理解基本的排序、有序结构,有基本的逻辑思维就能理解;
- 但是贪心的题目,千题千面,极难把握
- 难度在于证明局部最优可以得到全局最优。解决方法:可以使用对数器!
有关贪心的若干现实&提醒
- 不要纠结严格证明,每个题都去追求严格证明,浪费时间、收益很低,而且千题千面,实际上很玄学,对不同的题实际上要用不同的证明方法!
- 一定要掌握对数器的方法,这是解决贪心问题的关键!
- 解法几乎只包含贪心思路的题,代码量都不大
- 大量积累贪心的经验,重点不是证明,而是题目的特征,以及贪心方式的特征,做好总结方便借鉴
- 关注题目数据量,题目的解可能来自贪心,也很可能不是,如数据量允许,能不用贪心就不用
- 贪心在笔试中出现概率不低,但是在面试中出现概率较低,原因是淘汰率vs区分度
- 广义的贪心无处不在,可能和别的思路重合,一般都可以通过自然智慧想明白,依然不用纠结于证明
题目1:最大数
题目描述: 给定一组非负整数nums
,重新排列每个数的顺序(每个数不可拆分),使之组成一个最大整数。 链接:179. 最大数 - 力扣(LeetCode)
题目2:两地调度
‣