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

面试150 分发糖果

在这里插入图片描述

思路

联想贪心算法,遍历两次数组,一次是从左到右遍历,只比较右边孩子评分比左边打的情况。第二次从右到左遍历,只比较左边孩子评分比右边大的情况。最后求和即可

class Solution:def candy(self, ratings: List[int]) -> int:candys=[1]*len(ratings)for i in range(1,len(ratings)):if ratings[i]>ratings[i-1]:candys[i]=candys[i-1]+1##这确保了每个评分比左边高的孩子拿得比左边多。但这一轮并不能保证 “比右边高的孩子也分得更多”,所以还需要第二轮处理。       #上面是考虑左边比右边大的for i in range(len(ratings)-2,-1,-1):if ratings[i]>ratings[i+1]:candys[i]=max(candys[i],candys[i+1]+1)result=0for i in range(len(candys)):result+=candys[i]return result
http://www.lqws.cn/news/492895.html

相关文章:

  • 【设计模式精讲 Day 12】代理模式(Proxy Pattern)
  • idea 报错:java: 非法字符: ‘\ufeff‘
  • ISO 26262-11 半导体功能安全学习(二)
  • Meta-华盛顿大学-CMU联合研究多感官触觉表征在机器人操作中的新范式
  • 启用AWS VPC流日志保存到CloudWatch日志组
  • 设计模式精讲 Day 11:享元模式(Flyweight Pattern)
  • WPF中MVVM和MVVMLight模式
  • 单片机——浮点数转换4位数码管显示
  • Java面试复习指南:基础、并发、JVM与Spring框架
  • Nginx:互斥锁 accept_mutex配置
  • APO:自动化技术提升大语言模型在各类任务中的表现
  • 世赛背景下,高职物联网应用开发赛项实训解决方案
  • 《人性的优点》:破解忧虑密码,构建积极人生
  • 后台发热、掉电严重?iOS 应用性能问题实战分析全过程
  • RS485
  • Electron桌面程序初体验
  • OptiStruct功率流分析:功率分析理论基础
  • 哈希题解——有效的字母异位词【LeetCode】
  • HTTP协议(Linux进阶第一章)
  • C#最佳实践:为何优先使用属性而非字段
  • 基于LangChain的带摘要存储对话系统实战
  • 原生微信小程序网络请求与上传接口封装实战指南
  • 编程语言的设计之道:从底层控制到表达自由
  • 深入解析 Flutter Bloc 在 AppBar 中的实战应用
  • 如何下载并配置acolite进行Landsat等遥感数据的大气校正
  • 设计模式 | 单例模式
  • Apache SeaTunnel Flink引擎执行流程源码分析
  • Neo4j.5.X社区版创建数据库和切换数据库
  • 如何在直播SDK中实现高性能面具贴纸渲染?底层架构与优化方案详解
  • 量子机器学习前沿:量子神经网络与混合量子-经典算法