(leetcode)替换所有的问号 -- 模拟算法

 个人主页:Lei宝啊 

愿所有美好如期而遇 


本题链接

力扣(LeetCode)

输入描述

string modifyString(string s)   输入一个字符串,字符串中仅包含小写字母和 ‘?’ 字符。

输出描述 

将问号替换为小写字母,且这个替换的小写字母与他前后的字母不相同。

算法分析

模拟,实际上就是根据题目描述做题,不用考虑什么二分,前缀和等等,相对于其他算法比较简单,就是单纯的考察代码能力。

本题我们直接循环遍历数组,如果在 i 位置遇到 '?' ,就循环26个小写英文字母,哪个字母大小不等于 i 位置,就使s[i] = 这个英文字母; 我们需要另外判断边界情况,在0位置和n-1位置,这两个位置如果是 '?' ,那么一个不用比前,一个不用比后。

解题源码

class Solution {
public:string modifyString(string s) {int n = s.size();for(int i=0; i<n; i++){if(s[i] == '?'){              for(int j=97; j<=122; j++)     {if(i != 0 && s[i-1] != j && s[i+1] != j) {s[i] = j;break;}else if(i == 0 && s[1] != j){s[0] = j;break;}else if(i == n-1 && s[n-2] != j){s[n-1] = j;break;}}                                                       }}return s;}
};

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/341125.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

全链路压力测试有哪些主要作用

全链路压力测试是在软件开发和维护过程中不可或缺的一环&#xff0c;尤其在复杂系统和高并发场景下显得尤为重要。下面将详细介绍全链路压力测试的主要作用。 一、全链路压力测试概述 全链路压力测试是指对软件系统的全部组件(包括前端、后端、数据库、网络、中间件等)在高负载…

机器学习激活函数

激活函数 激活函数是人工神经网络中的一个重要组成部分。它们用于向神经网络中添加非线性因素&#xff0c;使得网络能够解决复杂问题&#xff0c;如图像识别、语言处理等。激活函数的作用是决定一个神经元是否应该被激活&#xff0c;也就是说&#xff0c;它帮助决定神经元的输…

uni-app中实现音乐播放器

uni-app中实现音乐播放器 1、主要利用的是uni-app中提供的uni.createInnerAudioContext()来进行实现&#xff1b; 2、代码示例 &#xff08;1&#xff09;主页面代码展示 <template><view class"music-layout"><view class"tn-flex">…

ADOV路由和DSR路由matlab对比仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 4.1 ADOV路由&#xff08;Ad hoc On-demand Distance Vector Routing&#xff09; 4.2 DSR路由&#xff08;Dynamic Source Routing&#xff09; 5.完整程序 1.程序功能描述 ADOV路由和DSR…

迅为RK3568开发板Android11/12/Linux编译驱动到内核

在平时的驱动开发中&#xff0c;经常需要在内核中配置某种功能&#xff0c;为了方便大家开发和学习&#xff0c;本小 节讲解如何在内核中添加驱动。具体的讲解原理讲解请参考本手册的驱动教程。 Android11 源码如果想要修改内核&#xff0c;可以运行以下命令进行修改: cd ke…

【python】python新年烟花代码【附源码】

欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 新年的钟声即将敲响&#xff0c;为了庆祝这个喜庆的时刻&#xff0c;我们可以用 Python 编写一个炫彩夺目的烟花盛典。本文将详细介绍如何使用 Pygame 库创建一个令人惊叹的烟花效果。 一、效果图&#xff1a; 二…

R730服务器做了raid的硬盘,插在R720上面可以用吗?

环境 戴尔R720 戴尔R730 问题描述 R730服务器做了raid的硬盘&#xff0c;插在R720上面可以用吗&#xff1f; 解决方案 1.直接在 R730服务器做了raid的硬盘&#xff0c;卸下来在插在r720上面使用 &#xff0c;读不到硬盘 2.前往R730服务器上面&#xff0c;去清除RAID配置的…

第二百六十回

文章目录 知识回顾示例代码经验总结 我们在上一章回中介绍了通道相关的内容&#xff0c;本章回中将介绍其中的一种通道&#xff1a;MethodChannnel.闲话休提&#xff0c;让我们一起Talk Flutter吧。 知识回顾 我们在上一章回中介绍了通道的概念和作用&#xff0c;并且提到了通…

GEE查看MODIS的NDVI、EVI产品并生成逐日/逐月NDVI曲线

目录 MOD13Q1MOD09GA计算逐日/逐月NDVI生成曲线参考博文 MOD13Q1 MOD13Q1有两个产品&#xff1a;NDVI和EVI&#xff0c;每16天为全球提供&#xff0c;分辨率为250M 通过查看时间&#xff0c;该NDVI产品是16天一景 MOD09GA 提供逐日的表面反射率产品&#xff0c;分辨率为500m…

计算机网络 物理层

文章目录 物理层物理层的基本概念数据通信的基础知识数据通信系统的模型有关信道的几个基本概念信道的极限容量 物理层下面的传输媒体导引型传输媒体非引导型传输媒体 信道复用技术波分复用码的复用 宽带接入技术ADSL 技术光纤同轴混合网 (HFC 网&#xff09;FTTx 技术 物理层 …

SpringMVC的四种跳转方式

默认的跳转是请求转发&#xff0c;直接跳转到jsp页面展示&#xff0c;还可以使用框架提供的关键字redirect:&#xff0c;进行一个重定向操作&#xff0c;包括重定向页面和重定向action&#xff0c;使用框架提供的关键字forward:&#xff0c;进行服务器内部转发操作&#xff0c;…

【电商API接口】jd.item_search按关键字搜索京东商品返回值和参数说明

item_search-按关键字搜索商品 [查看演示] API测试工具 注册开通 jd.item_search 公共参数 请求地址: 申请调用KEY测试 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08…