当前位置: 首页 > news >正文

网站节假日喜庆头部背景换肤js代码 带关闭按钮谷歌浏览器官网下载手机版

网站节假日喜庆头部背景换肤js代码 带关闭按钮,谷歌浏览器官网下载手机版,最新有限公司网站,沧州网站设计哪家好青铜挑战-贪心其实很简单 1. 难以解释的贪心算法 贪心学习法则:直接做题,不考虑贪不贪心 贪心(贪婪)算法 是指在问题尽心求解时,在每一步选择中都采取最好或者最优(最有利)的选择,从而希望能够导致结果最…

青铜挑战-贪心其实很简单

1. 难以解释的贪心算法

贪心学习法则:直接做题,不考虑贪不贪心

贪心(贪婪)算法
是指在问题尽心求解时,在每一步选择中都采取最好或者最优(最有利)的选择,从而希望能够导致结果最好或者最优的算法

贪心算法所得到的结果不一定是最优的结果,但是都是相对近似最优解的结果

怎么知道什么时候改用贪心呢?
要求要解决的问题具有“最优子结构”

贪心怎么学?
将常见的贪心题都找出来看看大致是什么样子的,学一学就行了

贪心常见的应用场景?

  1. 排序问题:选择排序、拓扑排序
  2. 优先队列:堆排序
  3. 赫夫曼压缩编码
  4. 图里的 Prim、Fruska和Dijkstra算法
  5. 硬币找零问题
  6. 分数背包问题
  7. 并查集的按大小或者高度合并问题,或者排名
  8. 任务调度部分场景
  9. 一些复杂的近似算法

2. 贪心问题举例

2.1 分发饼干

LeetCode 455
https://leetcode.cn/problems/assign-cookies/

思路分析

既要满足小孩的胃口,也不要造成饼干的浪费;
大饼干既可以满足胃口大的孩子,也可以满足胃口小的孩子,就应该优先满足胃口大的;

局部最优:大饼干喂给胃口大的,充分利用饼干尺寸喂饱一个
全局最优:喂饱尽可能多的孩子

贪心策略:考虑胃口,大饼干先喂饱大胃口,最后看能满足几个孩子的需要

  • 先将饼干数组和小孩数组排序
  • 然后从后向前比那里小孩数组,用大饼干优先满足胃口大的,并统计满足孩子的数量

在这里插入图片描述

代码实现

class Solution:def findContentChildren(self, g: List[int], s: List[int]) -> int:g.sort(reverse=True)s.sort(reverse=True)s_len = len(s)s_index = 0count = 0for i in g:if s_index < s_len and i <= s[s_index]:s_index += 1count += 1return count

2.2 柠檬水找零

LeetCode860
https://leetcode.cn/problems/lemonade-change/

思路分析

分析下主要有三种情况

  1. 给的是5,直接收下
  2. 给的是10,给出1个5,此时必须要有1个5才行
  3. 给的是20,优先消耗1个10,再给1个5。如果没有10,给出3个5

局部最优:遇到账单20,优先消耗10,完成本次找零。10只能给20找零,5更万能

代码实现

class Solution:def lemonadeChange(self, bills: List[int]) -> bool:count_5 = 0count_10 = 0for money in bills:if money == 5:count_5 += 1elif money == 10:count_5 -= 1count_10 += 1elif money == 20:if count_10 > 0:count_10 -= 1count_5 -= 1else:count_5 -= 3if count_5 < 0 or count_10 < 0:return Falsereturn True

2.3 分发糖果

LeetCode 135
https://leetcode.cn/problems/candy/

思路分析

每个孩子至少一个糖果
相邻孩子评分更高的获得更多的糖果

  • 第一轮,从左到右
    • 只要右边的比左边的大,就一直加1
    • 如果右边比左边小,就设置为1
  • 第二轮,从右到左
    • 如果左边的比右边的大,在{i+1}的基础上,先加1再赋值给{i}
  • 每个位置i,从left[i]和right[i]中选最大就行了
第一轮
下标 0 1 2 3 4 5 6
得分 1 2 2 5 4 3 2
糖果 1 2 1 2 1 1 1第二轮
下标 0 1 2 3 4 5 6
得分 1 2 2 5 4 3 2
糖果 1 2 1 4 3 2 1选取最大
下标 0 1 2 3 4 5 6
得分 1 2 2 5 4 3 2
糖果 1 2 1 4 3 2 1第一轮
下标 0 1 2 3 4
得分 1 3 4 5 2
糖果 1 2 3 4 1第二轮
下标 0 1 2 3 4
得分 1 3 4 5 2
糖果 1 2 3 2 1选取最大
下标 0 1 2 3 4
得分 1 3 4 5 2
糖果 1 2 3 4 1

代码实现

class Solution:def candy(self, ratings: List[int]) -> int:n = len(ratings)candy_list = [0] * ncandy_list[0] = 1 for i in range(1, n):if ratings[i] > ratings[i-1]:candy_list[i] = candy_list[i-1] + 1else:candy_list[i] = 1for i in range(n-2, -1, -1):if ratings[i] > ratings[i+1]:candy_list[i] = max(candy_list[i+1] + 1, candy_list[i])return sum(candy_list)
http://www.sczhlp.com/news/47781/

相关文章:

  • 南京定制网站哪个好google推广服务商
  • 怀仁建设局网站seo综合查询是啥意思
  • 怎么做云购网站吗网站优化设计的基础是网站基本要素及每个细节的优化
  • 站长工具查询视频网站建设深圳公司
  • 网站批量做https网络seo优化
  • 专注微商推广的网站网页设计首页
  • 郑州市疫情防控新闻发布会seo综合查询怎么用
  • 域名绑定网站需要多久2345网址导航电脑版官网
  • 杭州市健康城市建设网站成都百度推广和seo优化
  • 在一起做网店的网站的怎么购买网站搜索引擎优化方法
  • 织梦如何做汽车贸易网站快速优化关键词排名
  • 网站内链优化策略电商网站链接买卖
  • 优秀国外设计网站厦门谷歌seo
  • 网页设计与网站建设完全教程百度学术论文查重
  • wordpress建m域名网站什么是网站推广优化
  • 宝鸡网站制作电话热搜榜排名今日第一
  • 云南网站公司seo优化网络推广
  • 户户通行业网站网站营销策划
  • wordpress博客统计武汉seo诊断
  • 门户网站建设 总结windows优化大师好用吗
  • 如何在年报网站上做遗失公告百度热搜榜历史
  • 网站界面用什么做排位及资讯
  • 公司网站谁负责做百度快速收录网站
  • 做代购 需要独立网站seo优化范畴
  • 麦包包在网站建设方面营销网站的宣传、推广与运作
  • java可以做网站全网推广方案
  • 江门找人做网站排名域名注册购买
  • 有区域名和主机怎么做网站国外搜索引擎优化
  • flash做的小动画视频网站百度引擎的搜索方式是什么
  • 一个完整的营销策划案范文深圳防疫措施优化