开宗明义:本系列基于小象学院林沐老师课程《面试算法 LeetCode 刷题班》,刷题小白,旨在理解和交流,重在记录,望各位大牛指点!Leetcode学习之贪心算法(1) 文章目录1、贪心法找钱2、分糖果(排序、贪心) Leetcode 455.3、摇摆序列(贪心) Leetcode 376.4、移除K个数字(栈、贪心) Leetcode 402. 1、贪心法找钱贪心法:遵循某种规律,不断贪心的选取            
                
         
            
            
            
            什么是贪心算法?贪心算法并不是一个具体的算法,而是一种算法的思想,或者说是解决问题一种思路。这就有两个关键的点,可以解释贪心算法:贪心算法解决什么问题?贪心算法是怎样的一种思路?1. 贪心算法解决什么问题解决求最优解问题。即此问题的最终的目的,是为了得到一个最优解。比如,从A地到B地之间的最短路径,100块钱可以在一个商场里买到的东西最多,等等之类的。2. 贪心算法是怎样的一种思路顾名思义,贪心算            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-11 18:18:17
                            
                                56阅读
                            
                                                                             
                 
                
                             
         
            
            
            
                        
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-05 07:14:57
                            
                                109阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前言贪心算法或贪心思想,即采用贪心的策略,保证每次操作都是局部最优的,从而使最后得到的结果是全局最优的。以下是我在leetcode上面做过的一些经典贪心算法类型题,在此将解题思路分享出来,如有不正确的地方欢迎指正。455.Assign cookies(Easy)题目描述有一群孩子和一堆饼干,每个孩子有一个饥饿度,每个饼干都有一个大小。每个孩子只能吃一个饼干,且只有饼干的大小不小于孩子的饥饿度时,这            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-01 13:15:42
                            
                                61阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            贪心算法和分治算法、动态规划算法、回溯算法都是一种编程思想,深入理解这些编程思想,我们也可以根据实际情况设计自己的算法。一 贪心算法原理贪心算法的原理比较简单,就是对问题求解的时候,每步都选择当前的最优解,然后已期望得到全局最优解。贪心算法的适用场景是每次选择是没有状态的,也就是不会对后面的步骤产生影响。二 贪心算法举例同样用老师课件中的两个例子:背包问题:假如我们有一个可以装100kg物品的背包            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-12 17:33:54
                            
                                119阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            目录贪心算法概念经典问题:部分背包时间复杂度优缺点适用场景 贪心算法概念贪婪算法(Greedy)的定义:        在每一步选中都采取在当前状态下最好或最优的选择,从而希望结果是全局最优的算法。贪婪算法:当下做局部最优判断,不能回退 (能回退的是回溯,最优+回退是动态规划)由于贪心算法的高效性以及所求得答            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-01 16:33:42
                            
                                96阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            目录贪心算法的基础知识分糖果 (LeetCode 455)摇摆序列(LeetCode 376)移除K个数字(LeetCode 402)跳跃游戏1 (LeetCode 55)跳跃游戏2 (LeetCode 45)射击气球(LeetCode 452)1. 贪心算法的基础知识贪心算法就是每次都贪心地选择当前最好的那个(局部最优解),不去考虑以后的情况,而且选择了就不能够“反悔”了,如果原问题满足贪心选择            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-29 11:21:42
                            
                                57阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            题目描写叙述: With highways available, driving a car from Hangzhou to any other city is easy. But since the tank capacity of a car is limited, we have to fi            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2017-06-06 09:14:00
                            
                                240阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            Prim与Dijistra算法有异曲同工之妙,只不过Dijistra是求最短路径,每次添加到集合中的是到固定起始点的最短距离,而Prim是求最小生成树,是整个图所有权重的最小和,每次添加到集合中的是到整个集合最短距离的点。Prim算法具体如下所示:1 #include <iostream>
 2 
 3 using namespace std;
 4 
 5 #define INF 1            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-21 22:21:11
                            
                                105阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。在开始之前我们引入一个很简单的问题,这个问题要求用尽可能少的硬币和纸币加出一个指定的金额总数。首            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-26 11:20:11
                            
                                72阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            题目:有 nijAi,j=Aj,i(n≤100),现在给出由 m(≤1e5)A,求:在所有 "有子序列 A 的序列中",总花费最小的序列的花费为多少。 输入格式 第 1nm。 第 2∼m+1行:第 i+1iAi。 第 m+2∼n+m+1n0。 输出格式 共一行            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-04 19:30:24
                            
                                126阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            【数据结构与算法-贪心算法经典例题汇总】典例1、分发糖果/分发饼干(easy)典例2、摇摆序列(medium)典例3、移除K个数字(medium)典例4、跳跃游戏-a(medium)典例5、跳跃游戏2(hard)典例6、用最少数量的箭射击气球(medium)典例7、最优加油策略(hard) 基础搭建:从钞票找零与最佳的实际情况中理解贪心算法的思想:尽可能的使用较大的面值的钞票支付,需要的钱张数最            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-07 08:33:37
                            
                                1332阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            搞定大厂算法面试之leetcode精讲4.贪心目录:1.开篇介绍2.时间空间复杂度3.动态规划4.贪心5.二分查找6.深度优先&广度优先7.双指针8.滑动窗口9.位运算10.递归&分治11剪枝&回溯12.堆13.单调栈14.排序算法15.链表16.set&map17.栈18.队列19.数组20.字符串21.树22.字典树23.并查集24.其他类型题什么是贪心算法贪心            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-08 15:39:59
                            
                                34阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            文章目录贪心算法简介LeetCode 45跳跃游戏LeetCode 55跳跃游戏 ||  记录一些自己学到的知识,同时希望能帮到各位小伙伴们学习一些东西,如果有什么写的不好的地方或者需要更改的,还请大佬指正 贪心算法简介贪心算法(又称贪婪算法)是指:在每一步求解的步骤中,它要求“贪婪”的选择最佳操作,并希望通过一系列的最优选择,能够产生一个问题的(全局的)最优解。贪心算法每一步必须满足一下条件:            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-12 17:57:11
                            
                                34阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            贪心法——背包问题今天总结了一下算法问题中的贪心法,用了一个背包问题的例子,希望可以巩固一下自己学到的知识。一、概述  贪心法把一个复杂问题分解为一系列较为简单的局部最优选择,每一步选择都是对当前的一个扩展,直到获得问题的完整解。二、适用范围  典型应用是求解最优化问题,而且对许多问题都能得到整体最优解。  注意:由于贪心法并不是从整体最优考虑,它所做出的选择只是在某种意义上的局部最优,这种局部最            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-26 12:18:10
                            
                                92阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、什么是贪心算法?去百度上搜索一下,它会给你提供下面一段话:贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。 贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。由此我们可以进行一个简单的总结:            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-02 11:50:47
                            
                                129阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            贪心算法本质:       从问题的初始解出发,一步一步的做出当前最好的选择,尽可能的得到最优解或近似最优解(只根据当前的信息判断,希望通过局部最优得到整体最优)可用贪心算法求解的重要性质:(1)贪心选择:原问题的整体最优解可以有一系列的局部最优解得到,将原问题变成一个相似的规模更小的问题,只依赖于已经做出的选择。(2)最优子结构:一个问题的最优解包含其子问题的最优解解决步骤:...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-07-12 15:19:54
                            
                                600阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            贪心算法一、基本思想      所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。必须注意的是,贪心算法不是对所有问题都能得到整体最优解,选择的贪心策略必须具备无后效性,即某个状态以后的过程不会影响以前的状态,只与当前状            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-08 13:27:44
                            
                                96阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            贪心算法本质:       从问题的初始解出发,一步一步的做出当前最好的选择,尽可能的得到最优解或近似最优解(只根据当前的信息判断,希望通过局部最优得到整体最优)可用贪心算法求解的重要性质:(1)贪心选择:原问题的整体最优解可以有一系列的局部最优解得到,将原问题变成一个相似的规模更小的问题,只依赖于已经做出的选择。(2)最优子结构:一个问题的最优解包含其子问题的最优解解决步骤:...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-03-10 17:14:25
                            
                                560阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            贪心算法也是用来求解最优化问题的,相比较动态规划很多问题使用贪心算法更为简单和高效,但是并不是所有的最优化问题都可以使用贪心算法来解决。贪心算法就是在每个决策点都做出在当时看来最佳的选择。贪心算法的设计步骤:1、将最优化问题转换为:对其做出一次选择之后,只剩下一个问题需要求解的形式(动态规划会留下多个问题需要求解)2、证明做出贪心选择之后,原问题总是存在最优解,即贪心算法总是安全的3、证明做出贪心            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-21 22:21:05
                            
                                116阅读
                            
                                                                             
                 
                
                                
                    