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

【每日刷题】Day137

【每日刷题】Day137

🥕个人主页:开敲🍉

🔥所属专栏:每日刷题🍍

🌼文章目录🌼

1. 1576. 替换所有的问号 - 力扣(LeetCode)

2. 495. 提莫攻击 - 力扣(LeetCode)

1. 1576. 替换所有的问号 - 力扣(LeetCode)

//思路:模拟+哈希。

//照葫芦画瓢,题目要求什么我们就做什么。

//题目的意思非常明确,将字符串 s 中的所有 '?' 变为小写字母,但是不能和它的前一个以及后一个的字母相同。

//这里我们遍历字符串s,每次遍历用一个新的哈希表来记录。如果当前字符为 '?',则记录一下它的前一个以及后一个字符,在哈希表中记为1。随后遍历哈希表中小写字母的下标,遍历到为 0 说明当前字母没被记录,用其替换 '?'。

class Solution {

public:

    string modifyString(string s)

    {

        for(int i = 0;i<s.size();i++)

        {

            int hash[128] = {0};//哈希数组记录

            if(s[i]=='?')

            {

                if(i-1>=0) hash[s[i-1]] = 1;

                if(i+1<s.size()) hash[s[i+1]] = 1;//记录 '?' 字符的前一个以及后一个字符

                for(int j = 97;j<=122;j++)//随后遍历小写字母的下标,用没有记录的字符替换 '?'

                    if(!hash[j]) s[i] = j;

            }

        }

        return s;

    }

};

2. 495. 提莫攻击 - 力扣(LeetCode)

//思路:模拟。

//遍历数组时我们只需要判断,当前秒我们给艾希挂上毒时,在毒的持续时间内我们是否重复挂上毒。也就是说,在前一个毒结束之前,我们是否又挂上了新的毒。

//如果 当前秒数 + 毒的持续时间 - 1 < 下一个秒数,说明在下一次挂毒之前,当前挂的毒已经失效,此时我们直接加上 duration

//如果 当前秒数 + 毒的持续时间 - 1 >= 下一个秒数,说明在下一次挂毒之前,当前挂的毒还没有失效,此时如果我们重新挂毒,则会浪费掉剩余的中毒时间。

class Solution {

public:

    int findPoisonedDuration(vector<int>& timeSeries, int duration)

    {

        int ans = 0,time = duration;

        for(int i = 0;i<timeSeries.size()-1;i++)//注意这里我们不遍历到最后一个秒数,因为最后一秒的中毒时间一定是完全利用上的,因此为了防止数组越界访问,我们这里访问到到数第二个,只需要在最后的结果 + duration 就是答案。

        {

            if(timeSeries[i]+duration-1<timeSeries[i+1]) ans+=duration;

            else ans+=(duration-(duration-timeSeries[i+1]+timeSeries[i]));//具体浪费的中毒时间就是 duration - (duration - 两个秒数的差值)

        }

        return ans+duration;

    }

};

http://www.lryc.cn/news/458125.html

相关文章:

  • 24.4 基于consul服务发现模式
  • [红队apt]快捷方式病毒攻击流程
  • 一个架构师的职业素养:四种常用的权限模型
  • 说起来很简单,做起来很复杂:解密Chat GPT背后的原理与技术
  • tcpdump-arm平台移植
  • LabVIEW中的非阻塞定时器
  • MIDIPLUS 50周年丨中国国际乐器展览会首日盛况
  • 基于springboot的家政服务管理系统(含源码+sql+视频导入教程+文档+PPT)
  • 第十四届单片机嵌入式蓝桥杯
  • Zotero 如何实现数据同步 坚果云
  • 基于Redis实现的延迟队列
  • LINUX——内核移植、内核编译教程
  • 《OpenCV计算机视觉》—— 用于执行图像透视变换的两个关键函数
  • uniapp使用字体图标 ttf svg作为选项图标,还支持变色变图按
  • <Project-6 pdf2tx> Python Flask 应用:图片PDF图书的中文翻译解决方案
  • 10.11Python数学基础-多维随机变量及其分布
  • (四)Mysql 数据库备份恢复全攻略
  • 在MySQL 8.0中,如何更好地管理索引以节省空间和提高查询效率?
  • 图形化编程(013)——“面向鼠标指针”积木块
  • 【Spring】Spring Boot项目创建和目录介绍
  • 第十二章 RabbitMQ之失败消息处理策略
  • 23年408数据结构
  • vue3ElementPlu表格合并多行
  • MySQL数据库 - 索引(上)
  • redis与springBoot整合
  • YoloV9改进策略:BackBone改进|CAFormer在YoloV9中的创新应用,显著提升目标检测性能
  • 消防应急物资仓库管理系统
  • 【论文阅读】Semi-Supervised Few-shot Learning via Multi-Factor Clustering
  • 第十三章 RabbitMQ之消息幂等性
  • tpcms-master.zip