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

高端品牌网站建设服务我要浏览国外网站怎么做

高端品牌网站建设服务,我要浏览国外网站怎么做,全网投放广告的渠道有哪些,html写一个心形网页贪心算法(Greedy Algorithm):一种在每次决策时,总是采取在当前状态下的最好选择,从而希望导致结果是最好或最优的算法。 学习链接:leetcode-notes/docs/ch04/04.04/04.04.02-Exercises.md at main datawha…

贪心算法(Greedy Algorithm):一种在每次决策时,总是采取在当前状态下的最好选择,从而希望导致结果是最好或最优的算法。

学习链接:leetcode-notes/docs/ch04/04.04/04.04.02-Exercises.md at main · datawhalechina/leetcode-notes · GitHub

贪心算法是一种改进的「分步解决算法」,其核心思想是:将求解过程分成「若干个步骤」,然后根据题意选择一种「度量标准」,每个步骤都应用「贪心原则」,选取当前状态下「最好 / 最优选择(局部最优解)」,并以此希望最后得出的结果也是「最好 / 最优结果(全局最优解)」。

贪心算法三步走

  1. 转换问题:将优化问题转换为具有贪心选择性质的问题,即先做出选择,再解决剩下的一个子问题。
  2. 贪心选择性质:根据题意选择一种度量标准,制定贪心策略,选取当前状态下「最好 / 最优选择」,从而得到局部最优解。
  3. 最优子结构性质:根据上一步制定的贪心策略,将贪心选择的局部最优解和子问题的最优解合并起来,得到原问题的最优解。

例题:

n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。

你需要按照以下要求,给这些孩子分发糖果:

  • 每个孩子至少分配到 1 个糖果。
  • 相邻两个孩子评分更高的孩子会获得更多的糖果。

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

思路:

### 初步思路

#### 1. 找到第一个谷底
首先,我们需要找到评分最低的孩子,并给他分配1个糖果。这个孩子就是我们所谓的“第一个谷底”。

#### 2. 找到下一个谷底
接下来,我们需要找到评分次低的孩子。如果这个孩子与上一个谷底相邻,我们需要比较他们的评分。评分更高的孩子应该获得比上一个谷底多1个糖果。如果不相邻,则直接分配1个糖果。

#### 3. 重复步骤2
继续这个过程,直到所有孩子都被分配糖果。

### 最终思路

在初步思路的基础上,我们发现可以通过两次遍历来简化问题:

1. **从左到右遍历**:确保每个孩子如果比左边的孩子评分高,则获得的糖果比左边的孩子多。
2. **从右到左遍历**:确保每个孩子如果比右边的孩子评分高,则获得的糖果比右边的孩子多。

### 最终思路的实现

class Solution(object):def candy(self, ratings):""":type ratings: List[int]:rtype: int"""n = len(ratings)candies = [1] * n  # 初始化每个孩子至少分配到 1 个糖果# 从左到右遍历,确保每个孩子如果比左边的孩子评分高,则获得的糖果比左边的孩子多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]:candies[i] = max(candies[i], candies[i + 1] + 1)# 返回所有孩子获得的糖果总数return sum(candies)

### 优越性

这种方法的优越性在于:
1. **时间复杂度低**:只需要两次遍历数组,时间复杂度为 `O(n)`,其中 `n` 是孩子的数量。
2. **空间复杂度低**:只需要一个长度为 `n` 的数组来存储每个孩子分配的糖果数量,空间复杂度为 `O(n)`。
3. **逻辑简单**:代码逻辑清晰,易于理解和维护。
4. **正确性高**:通过两次遍历,确保每个孩子获得的糖果数量满足题目要求,即每个孩子至少分配到1个糖果,且相邻两个孩子评分更高的孩子会获得更多的糖果。

http://www.yayakq.cn/news/916362/

相关文章:

  • 北京网站优化厂家海外网站加速
  • 如何搭建aspx网站中国风网站表现
  • 重庆彼客的网站是谁家做的石家庄尚武科技
  • 荣耀商城官网网站服务器登录入口
  • 做一个网站需要什么条件网页模板之家
  • 经营网站赚钱淘宝官网首页登陆
  • 怎么快速做网站排名达州网站开发qinsanw
  • 浦口区网站建设售后服务公众号可以做分类信息网站吗
  • 高端大气企业网站wordpress最好用的采集插件
  • jsp网站开发 孟浩pdf腾讯云网站备案吗
  • 西安网易网站建设付网站建设服务费什么科目
  • 网站改版影响排名吗手机网站建设地址
  • 茂名住房和城乡建设部网站做婚纱的网站
  • 用v9做的网站上传服务器作者联合开发的小说网站叫什么
  • 网站建设 我们的优势建行网站关于我们
  • 电子商务网站建设运营长春市宽城区建设局网站
  • 网站建设一条静安区品牌网站建设
  • 网站文章质检数据指数
  • 表格网站怎么做米拓建站怎么样
  • 个人做视频网站烧钱网站开发的相关网站
  • 好的做淘宝详情页的网站有哪些正规的徐州网站建设
  • 网站上全景云台怎么做的用asp.net做的网站实例
  • 什么样的企业需要做网站上传网站标志
  • jquery网站右侧悬浮返回顶部带双二维码鼠标经过显示怎样做网站亮照亮标
  • 教育培训东莞网站建设怎么用自己电脑做服务器搭建网站
  • 品划网络做营销型网站wordpress视频无法播放视频
  • 网站建设加优化网络运维工程师周报
  • 图片站 wordpress南京电商代运营
  • 济南网站建设公司川芎网络想学网络运营怎么开始
  • 制作网站公司谁家好搭建网站平台