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

leetcode 1578 使绳子变成彩色的最短时间

一、题目描述

二、解题思路

整体思路

分析完题意,如果遇到颜色相同的两个气球,就要放掉时间最短的气球,涉及到的是相邻位置的问题,且只考虑相邻的两个气球,所以我们可以采用定长的滑动窗口来解决这个问题。

具体思路

(1)首先,声明变量。ret记录需要的最短时间,n为neededTime的长度,left和right用于维护窗口

(2)接着,当right<n时,即指针不越界时,进行循环:

1>如果两个"气球"颜色相同,就需要放掉一个气球,放掉时间较短的气球,更新ret为ret+min(neededTime[left],neededTime[right])。由于放掉了一个气球,所以剩下的是花费时间较长的气球,为了便于后续操作,将neededTime[right]更新为max(neededTime[left],neededTime[right]);

2>定长窗口后移,left++,right++;

(3)最后,返回ret,即为最短的时间。

三、代码实现

class Solution {
public:int minCost(string colors, vector<int>& neededTime) {//定长的滑动窗口(长度为2)int ret=0;int n=neededTime.size();int left=0,right=1;while(right<n){if(colors[left]==colors[right]){ret+=min(neededTime[left],neededTime[right]);neededTime[right]=max(neededTime[left],neededTime[right]);}left++;right++;}return ret;}
};

http://www.dtcms.com/a/565322.html

相关文章:

  • 中国建设银行网上银行官方网站长沙优秀网站建设
  • 1.7 Foundry介绍
  • 什么是向量数据库?主流产品介绍与实战演练
  • redission实现延时队列
  • 浏览器端缓存地图请求:使用 IndexedDB + ajax-hook 提升地图加载速度
  • 地铁工程建设论文投稿网站谷歌广告代运营
  • 广东备案网站软件开发怎么学
  • 【成长纪实】鸿蒙 ArkTS 语言从零到一完整指南
  • PyTorch模型部署实战:从TorchScript到LibTorch的完整路径
  • 网站开发后台结构江西建设职业技术学院网站
  • 如何导出VSCode的已安装扩展列表?
  • 高级系统架构师笔记——系统质量属性与架构评估(1)软件系统质量属性
  • Vscode参数设置及使用记录ubuntu2204(更新中)
  • Linux上vscode c/c++开发环境搭建详细-abuild
  • vscode多文件编程bug记录
  • 分布式答案解析
  • 做耳机套的网站常用网站推广方法的适用性
  • 网站建设增长率呼和浩特建设厅网站
  • AI 音乐工具 Suno 和 Producer 对比
  • KeilIDE背后的命令
  • flash中文网站模板带有flash的网站
  • 阿里云核心服务解析与应用实践
  • Android BaseDexClassLoader源码阅读
  • 笔记本蓝牙怎么开启 完整教程
  • 【Delphi】获取电脑唯一码(一机一码)
  • 钉钉的设计理念方面,我可以学习
  • qq恢复官方网站浅谈海尔的电子商务网站建设
  • 怎么看电脑显卡什么型号?显卡配置方法查看指南
  • 【C#】WinForms 控件句柄与 UI 刷新时机
  • Go语言设计模式:迭代器模式详解