![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法专题
文章平均质量分 55
算法专题【针对一类题目特殊梳理】
小伍说-523能源
未来已来,只是尚未流行,[等风来]
展开
-
算法专题---贪心算法
一、贪心算法和回溯算法,动态规划的区别「解决一个问题需要多个步骤,每一个步骤有多种选择」这样的描述我们在「回溯算法」「动态规划」算法中都会看到。它们的区别如下:「回溯算法」需要记录每一个步骤、每一个选择,用于回答所有具体解的问题;「动态规划」需要记录的是每一个步骤、所有选择的汇总值(最大、最小或者计数);「贪心算法」由于适用的问题,每一个步骤只有一种选择,一般而言只需要记录与当前步骤相关的变量的值。二、贪心算法满足的条件 「贪心算法」总是做出在当前看来最好的选择就可以完成任务;解决「贪心算法」原创 2022-07-03 16:46:50 · 167 阅读 · 0 评论 -
860. 柠檬水找零
1、题目描述 2、题目分析由于顾客只可能给你三个面值的钞票,而且我们一开始没有任何钞票,因此我们拥有的钞票面值只可能是 5 美元,10 美元和 20 美元三种。基于此,我们可以进行如下的分类讨论。5 美元,由于柠檬水的价格也为 5 美元,因此我们直接收下即可。10 美元,我们需要找回 5 美元,如果没有 5 美元面值的钞票,则无法正确找零。20 美元,我们需要找回 15 美元,此时有两种组合方式,一种是一张 10 美元和 5 美元的钞票,一种是 3 张 5 美元的钞票,如果两种组合方式都没有,则无法正确找零原创 2022-07-02 20:40:47 · 156 阅读 · 0 评论 -
455. 分发饼干
1、题目描述 2、题目分析由于目标是要尽可能满足越多数量的孩子,因此可以想到为了尽可能满足最多数量的孩子,从贪心的角度考虑,应该按照孩子的胃口从小到大的顺序依次满足每个孩子,且对于每个孩子,应该选择可以满足这个孩子的胃口且尺寸最小的饼干。证明如下。备注:以下代码比官方的简便些,官方的是引入了count变量,再进行一次比较,但是因为已经提前给 g , s 排好序了,必然先满足最小的孩子食量,不满足时,孩子数量不增加,直到食量最小的孩子先满足后,才会进行下一个孩子的比较验证,即可。 复杂度分析时间复杂度:原创 2022-07-02 18:04:20 · 109 阅读 · 0 评论