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

力扣刷题[特殊字符]

文章目录

    • 加油站【贪心】

加油站【贪心】

link
在这里插入图片描述

// 贪心
// 首先检查第 0 个加油站,并试图判断能否环绕一周;如果不能,就从第一个无法到达的加油站开始继续检查。
// 可以只从第一个加油站遍历一圈即可,对于中间有量可以出现负数的情况,可以假设为出发前向别人借的,走完一圈为正即可(换上之前借的)class Solution {
public:int canCompleteCircuit(vector<int>& gas, vector<int>& cost) {int ans = 0, min_s = 0, s = 0;  // s 表示油量,min_s 表示最小油量for (int i = 0; i < gas.size(); i++) {s += gas[i] - cost[i]; // 在 i 处加油,然后从 i 到 i+1if (s < min_s) {min_s = s; // 更新最小油量ans = i + 1; // 注意 s 减去 cost[i] 之后,汽车在 i+1 而不是 i}}// 循环结束后,s 即为 gas 之和减去 cost 之和return s < 0 ? -1 : ans;}
};

分发糖果【贪心】
link
在这里插入图片描述
从前往后遍历一遍,先确定右边评分大于左边的情况
再从后向前遍历,确定左孩子大于右孩子的情况

class Solution {
public:int candy(vector<int>& ratings) {vector<int> nums(ratings.size(), 1);for(int i = 1; i < ratings.size(); i++){if(ratings[i] > ratings[i-1]){nums[i] = nums[i-1] + 1;}}for(int i = ratings.size()-2; i>=0; i--){if(ratings[i] > ratings[i+1]){nums[i] = max(nums[i], nums[i+1]+1);}}int res = 0;for(int i = 0; i < nums.size();i++){res += nums[i];}return res;}
};
http://www.xdnf.cn/news/4520.html

相关文章:

  • 力扣-hot100(旋转图像)
  • MCP系列(一)什么是MCP?
  • yolov8n-obb训练rknn模型
  • 解决二分类问题常用的模型以及优缺点和使用场景(二)
  • 重生之我在2024学Fine-tuning
  • 系统 Python 与 Conda 环境的灵活切换
  • 前端面经-VUE3篇(五)--内置组件
  • 【计算机架构】RISC(精简指令集计算机)架构
  • ABAP使用GET_TAX_PERCENTAGE 函数取税率
  • 手写 Vue 源码 === 完善依赖追踪与触发更新
  • FPGA 纯逻辑NVME raid0 IP核
  • 通配符 DNS 记录:应用场景与相关风险
  • SWiRL:数据合成、多步推理与工具使用
  • [吾爱出品][Windows] 产品销售管理系统2.0
  • Java UUID生成如何保证唯一性?深入解析与最佳实践
  • 【Redis】C++如何使用redis
  • java中ArrayList扩容机制的解析
  • 转换算子和行动算子的区别
  • 扩散模型(Diffusion Models)的革命性进展
  • 智算中心的搭建标准
  • Sat2Density论文详解——卫星-地面图像生成
  • @Transactional注解的使用
  • LangChain第三讲:大模型的输出如何格式化成字符串?
  • DIFY教程第五弹:科研论文翻译与SEO翻译应用
  • 简单的基于关键词匹配的 QA 系统示例
  • ICode国际青少年编程竞赛—Python—4级训练场—复杂嵌套循环
  • 多线程的出现解决了什么问题?深入解析多线程的核心价值
  • 力扣——25 K个一组翻转链表
  • 写个远程操作Android的调试程序
  • 【Linux篇】多线程编程中的互斥与同步:深入理解锁与条件变量的应用