【Leetcode每日一题】模拟 - 替换所有的问号(难度⭐)(42)

1. 题目解析

题目链接:1576. 替换所有的问号

这个问题的理解其实相当简单,只需看一下示例,基本就能明白其含义了。

2.算法原理

  1. 遍历字符串:从左到右逐个处理字符。

  2. 处理问号字符:对于每个问号字符,我们需要确定一个不同于其相邻字符的小写字母来替换它。

  3. 检查相邻字符:检查问号字符的左右相邻字符,以避免连续重复的情况。

  4. 选择合适的字母:从剩余的未使用字母中选择一个来替换问号字符,确保不与相邻字符相同。

  5. 替换并继续:替换问号字符后,继续遍历字符串,直到所有问号字符都被替换为合适的字母。

  6. 返回结果:返回最终的字符串,确保不包含连续重复的字符。

3.代码编写

class Solution 
{
public:string modifyString(string s) {int n = s.size();for(int i = 0; i < n; i++){if(s[i] == '?') {for(char ch = 'a'; ch <= 'z'; ch++){if((i == 0 || ch != s[i - 1]) && (i == n - 1 || ch != s[i + 1])){s[i] = ch;break;}       }}}return s;}
};

The Last

嗯,就是这样啦,文章到这里就结束啦,真心感谢你花时间来读。

觉得有点收获的话,不妨给我点个吧!

如果发现文章有啥漏洞或错误的地方,欢迎私信我或者在评论里提醒一声~ 

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

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

相关文章

基于javaweb(springboot+mybatis)宠物医院预约管理系统设计和实现以及论文报告

基于javaweb(springbootmybatis)宠物医院预约管理系统设计和实现以及论文报告 博主介绍&#xff1a;多年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎…

关于hook ntdll 代码详解

UNHOOK ntdll DWORD unhook() {//创建该结构体用于获取该dll的信息 将所有成员变量初始化为零MODULEINFO mi {};//获取当前内存的ntdll的句柄HMODULE ntdllModule GetModuleHandleA("ntdll.dll");//HANDLE(-1)表示获取当前进程的句柄 该函数用于获取该进程的信息G…

监控办公室电脑用什么软件?7款好用的电脑监控软件分享

办公室监控电脑的原因主要在于提升工作效率&#xff0c;确保数据安全&#xff0c;规范员工行为&#xff0c;强化团队协作&#xff0c;以及保障网络安全。 通过监控&#xff0c;管理者能够实时掌握员工工作状况&#xff0c;预防潜在风险&#xff0c;优化团队协作&#xff0c;同…

android h5理财(记账)管理系统eclipse开发mysql数据库编程服务端java计算机程序设计

一、源码特点 android h5理财管理系统是一套完善的WEBandroid设计系统&#xff0c;对理解JSP java&#xff0c;安卓app编程开发语言有帮助&#xff08;系统采用web服务端APP端 综合模式进行设计开发&#xff09;&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要…

13 秒插入 30 万条数据,批量插入正确的姿势!

本文主要讲述通过MyBatis、JDBC等做大数据量数据插入的案例和结果。 30万条数据插入插入数据库验证 实体类、mapper和配置文件定义 User实体 mapper接口 mapper.xml文件 jdbc.properties sqlMapConfig.xml 不分批次直接梭哈 循环逐条插入 MyBatis实现插入30万条数据 JD…

git-怎样把连续的多个commit合并成一个?

Git怎样把连续的多个commit合并成一个&#xff1f; Git怎样把连续的多个commit合并成一个&#xff1f; 参考URL: https://www.jianshu.com/p/5b4054b5b29e 查看git日志 git log --graph比如下图的commit 历史&#xff0c;想要把bai “Second change” 和 “Third change” 这…

大模型时代的向量数据库:原理解析和应用案例

大家好&#xff0c;在人工智能领域&#xff0c;数据处理和加工的需求愈发增加。随着人们深入探索AI高级的应用&#xff0c;如图像识别、语音搜索和推荐引擎等&#xff0c;数据的复杂性也在不断地增加。此时传统的数据库存储方式已不能完全满足需求&#xff0c;向量数据库应运而…

离线linux服务器安装mysql8

本文的服务器环境&#xff1a;openEuler毛坯版的&#xff0c;很多常用的指令都没有预装&#xff0c;比如rpm、tar等等&#xff0c;没有网络坏境&#xff0c;需要自己手动配置本地yum仓库&#xff0c;安装相关指令 1、检查服务器是否已经安装了MySQL 1.1、查询mysql以安装的相关…

Machine Learning机器学习之随机森林(Random Forests)

目录 前言&#xff1a; 思想与原理&#xff1a; 随机森林分类效果与什么因素有关&#xff1a; 经典的随机森林算法&#xff1a; 一、构建经典随机森林算法 1、思路 2、步骤&#xff1a; 3、代码实现 二、随机森林算法应用 建模步骤 Python代码实现&#xff08;完整代码&#xf…

【Java 内网穿透】1.2.5-JDK17-SNAPSHOT新特性

wu-smart-agent-network 是一款基于&#xff08;wu-framework-parent&#xff09;孵化出的项目&#xff0c;内部使用Lazy ORM操作数据库&#xff0c;主要功能是网络穿透&#xff0c;对于没有公网IP的服务进行公网IP映射 使用环境JDK17 Spring Boot 3.0.2 项目地址 Gitee Git…

【Canvas与艺术】黑底蓝绿色网格雷达之眼

【图示】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>黑底蓝绿色网格雷达之眼</title><style type"text/css…

go的for循环应该这么用

目录 目录 一&#xff1a;介绍 1: for流程控制 2&#xff1a;for-range流程控制 二&#xff1a;实例展示 1&#xff1a;//按照一定次数循环 2&#xff1a;//无限循环 3: //循环遍历整数、各种容器和通道 4&#xff1a;遍历通道 5&#xff1a;//指针数组循环 6&…