贪心算法
文章平均质量分 77
对于贪心算法例题的讲解
别致的影分身
这个作者很懒,什么都没留下…
展开
-
贪心算法学习一
解法(贪⼼):贪⼼策略:分情况讨论:a.遇到5元钱,直接收下;b.遇到10元钱,找零5元钱之后,收下;c.遇到20元钱:i.先尝试凑10 + 5的组合;ii.如果凑不出来,拼凑5 + 5 + 5的组合;原创 2024-06-06 18:14:01 · 424 阅读 · 0 评论 -
贪心算法学习二
解法(贪⼼):贪⼼策略:由于只能交易⼀次,所以对于某⼀个位置i,要想获得最⼤利润,仅需知道前⾯所有元素的最⼩ 值。然后在最⼩值的位置「买⼊」股票,在当前位置「卖出」股票即可。原创 2024-06-08 15:01:55 · 507 阅读 · 0 评论 -
贪心算法学习三
解法(贪⼼):贪⼼策略:⽤尽可能多的字符去构造回⽂串:a.如果字符出现偶数个,那么全部都可以⽤来构造回⽂串;b.如果字符出现奇数个,减去⼀个之后,剩下的字符能够全部⽤来构造回⽂串;c.最后再判断⼀下,如果有字符出现奇数个,就把它单独拿出来放在中间。原创 2024-06-10 10:03:37 · 509 阅读 · 0 评论 -
贪心算法学习四
解法(暴⼒解法 -> 贪⼼):暴⼒解法:a.依次枚举所有的起点;b.从起点开始,模拟⼀遍加油的流程贪⼼优化:我们发现,当从i位置出发,⾛了step步之后,如果失败了。那么这个区间内任意⼀个位置作为起点,都不可能环绕⼀圈。因此我们枚举的下⼀个起点,应该是 i + step + 1。原创 2024-06-15 20:59:34 · 1034 阅读 · 0 评论 -
贪心算法学习五
解法(贪⼼):贪⼼策略:我们的任何选择,应该让这个数尽可能快的变成1。对于偶数:只能执⾏除2操作,没有什么分析的;对于奇数:i.当n== 1的时候,不⽤执⾏任何操作;ii.当n == 3的时候,变成1的最优操作数是2;iii.当的时候,那么它的⼆进制表⽰是 ......01,最优的⽅式应该选择 -1,这样就可以把末尾的1⼲掉,接下来执⾏除法操作,能够更快的变成 1;iv.当的时候,那么它的⼆进制表⽰是 ......11。原创 2024-06-16 13:42:07 · 1135 阅读 · 4 评论