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

做网站页面的框架自己怎么开网站

做网站页面的框架,自己怎么开网站,网站建设网页设计培训班,好的结构设计网站题目 n 个孩子站成一排,给你一个整数数组 ratings 表示每个孩子的评分。你需要按照以下要求,给这些孩子分发糖果。 (1)每个孩子至少分配到 1 个糖果。 (2)相邻两个孩子评分更高的孩子会获得更多的糖果。 请…

题目

        n 个孩子站成一排,给你一个整数数组 ratings 表示每个孩子的评分。你需要按照以下要求,给这些孩子分发糖果。

        (1)每个孩子至少分配到 1 个糖果。

        (2)相邻两个孩子评分更高的孩子会获得更多的糖果。

        请你给每个孩子分发糖果,计算并返回需要准备的最少糖果数目 。

        示例 1:

输入:ratings = [1, 0, 2]
输出:5
解释:你可以分别给第一个、第二个、第三个孩子分发2、1、2颗糖果。

        示例 2:

输入:ratings = [1, 2, 2]
输出:4
解释:你可以分别给第一个、第二个、第三个孩子分发1、2、1颗糖果。
第三个孩子只得到 1 颗糖果,这满足题面中的两个条件。

贪心算法

        本题最直观的解法是:使用两次遍历的贪心算法。第一次遍历:从左到右,保证每个孩子至少有一颗糖果,并且如果当前孩子评分比左边孩子高,则当前孩子至少比左边孩子多一颗糖果。第二次遍历:从右到左,再次检查每个孩子,确保如果当前孩子评分比右边孩子高,也能得到比右边孩子多的糖果。使用贪心算法求解本题的主要步骤如下。

        1、初始化一个结果数组,每个位置初始化为1,表示每个孩子至少有一颗糖果。

        2、从左到右遍历,如果当前孩子的评分比前一个孩子高,则在结果数组中,当前孩子的糖果数比前一个孩子多1。

        3、从右到左遍历,重复步骤2的逻辑,这样可以确保每个孩子根据其两边的比较都能得到正确的糖果数。

        4、计算结果数组中所有糖果数的总和。

        根据上面的算法步骤,我们可以得出下面的示例代码。

def distribute_candies_greedy(ratings):n = len(ratings)if n == 0:return 0# 初始化糖果数组,每个孩子至少一个糖果candies = [1] * n# 从左到右遍历,保证评分高的孩子糖果比左边多for i in range(1, n):if ratings[i] > ratings[i-1]:candies[i] = candies[i-1] + 1# 从右到左遍历,确保糖果分配满足所有条件for i in range(n-2, -1, -1):if ratings[i] > ratings[i+1] and candies[i] <= candies[i+1]:candies[i] = candies[i+1] + 1# 计算总糖果数return sum(candies)ratings = [1, 0, 2]
print(distribute_candies_greedy(ratings))ratings = [1, 2, 2]
print(distribute_candies_greedy(ratings))

总结

        贪心算法的核心思想是在每一步选择中都采取在当前看来最好的策略,期望通过一系列局部最优的选择达到全局最优解。本题通过两次遍历保证了所有相邻孩子之间的糖果分配满足题目要求,是一种典型的贪心策略应用。

        贪心算法的时间复杂度是O(n),其中n是孩子的数量。这是因为算法执行了两次遍历数组的操作。第一次从左到右遍历,第二次从右到左遍历。尽管是两次遍历,但每次遍历都是线性的,所以总的时间复杂度仍然是线性的。其空间复杂度也为O(n),主要是由于存储每个孩子分配的糖果数需要额外的空间。

http://www.dinnco.com/news/31603.html

相关文章:

  • 收益网站制作网址导航浏览器下载
  • i5 7500网站开发买链接官网
  • 辽宁鲲鹏建设集团网站宁波seo推广方式排名
  • 网站套利怎么做免费域名申请个人网站
  • 太原网站关键词优化蚁坊软件舆情监测系统
  • 网上怎么自己做网站企业网站排名优化价格
  • 深圳龙华做网站公司广告策划公司
  • 外贸网站如何做的好软文推广文章范文1000
  • 南通网站推广公司哪家好360优化大师app
  • 辅助购卡网站怎么做电商详情页模板免费下载
  • soe标题打开直接显示网站怎么做怎么推广自己的公司
  • 厦门首屈一指网站建设百度 官网
  • iis7 伪静态 wordpress搜索引擎优化的实验结果分析
  • 南宁网站制作企业引擎搜索优化
  • 大型企业网站建设论坛推广
  • 包头市做网站哪个百度识图识别
  • 公司网站制作可以使用开源系统吗南昌网站建设
  • 网站建设 江苏长沙市最新疫情
  • 做网站的公司有哪些岗位晋江怎么交换友情链接
  • 微小店网站建设哪家好站长工具四叶草
  • php网站的数据库怎么做备份电商培训机构排名前十
  • 邛崃网站建设网络促销方案
  • web怎样插入自己做的网站三只松鼠网络营销策略
  • 银川网站设计建设东方网络律师团队
  • 个人网站模板下载搜索关键词排名一般按照什么收费
  • wordpress google字体本地qq群排名优化
  • 医院网站改版建设招标公告sem优化软件哪家好
  • 网站平台建设重点难点分析上海网络推广公司网站
  • 做衣服的网站推荐网络品牌推广
  • 可以做司考真题的网站seo服务优化