贪心算法简述

本文介绍了贪心算法的基本思想,通过拿钞票的例子来解释其局部最优到全局最优的过程。贪心算法并无固定套路,通常包括将问题分解、找出贪心策略、求解子问题最优解和组合成全局最优解。文章还分析了455. 分发饼干问题的思路,强调贪心算法在解决此问题中的应用,并提供了Java代码实现。尽管贪心算法看似简单,但实现全局最优可能涉及复杂情况。
摘要由CSDN通过智能技术生成

贪心算法

什么是贪心算法

  • 贪心的本质是选择每一阶段的局部最优,从而达到全局最优

我们举个例子,方便理解:

假设这里有十张钞票,你从中拿走五张,如果想拿到的钱数额最大,再怎么拿?

我们每次都拿最大面额的钞票,这就是局部最优;

最后我们拿到的钞票数额就是最大的,这就是全局最优;

由局部最优推出全局最优。

就这就贪心算法最基本的思想

贪心没有套路

很多同学想问,做题想不出是贪心算法,有没有什么办法或者套路,一眼就看出了要是用贪心算法。

抱歉,没有

就比如上述例题,其实我们不需要知道这种拿法是贪心算法我们都能想到,这算是一种常识思维了

一般数学证明有两种办法:

  • 数学归纳法
  • 反证法

说实话在我看来,你了解了也没什么意义,一大串公式,你都不一定能看懂,我们也不是专业的,会用就行

面试的时候就更不可能让你证明贪心算法了,最多写个代码跑一跑,证明你了解贪心算法,大多数就让你说一说即可,因为贪心算法简单题真简单,难题是真难,面试你又不是难为你。

不过我们算法中会用到一些简单的初等数学思维,甚至连初等都算不上,就比如环形链表II这道题我们就用到了简单的数学逻辑思维,你

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值