每日OJ题_算法_模拟①_力扣1576. 替换所有的问号

目录

模拟算法原理

力扣1576. 替换所有的问号

解析代码


模拟算法原理

        模拟算法是一种常用的计算机算法,它模拟了实际问题的运行过程,并通过数学模型来预测结果。模拟算法可以应用于各个领域,例如物理、化学、生物、计算机网络等等。

        模拟算法,用一句老话说,就是“照着葫芦画瓢”,官方化的诠释则是:根据题目表述进行筛选提取关键要素,按需求书写代码解决实际问题。

        模拟算法一般都是一些很基础的题目,一些大佬眼中,模拟题就是所谓的“水题”,不太需要动脑子,只要按照题目要求来就好。但是模拟题也分难易,对于一些特困难的模拟题,哪怕是大佬,也很容易做错。大部分模拟题的优化思路都是找规律。


力扣1576. 替换所有的问号

1576. 替换所有的问号

难度 简单

给你一个仅包含小写英文字母和 '?' 字符的字符串 s,请你将所有的 '?' 转换为若干小写字母,使最终的字符串不包含任何 连续重复 的字符。

注意:你 不能 修改非 '?' 字符。

题目测试用例保证  '?' 字符 之外,不存在连续重复的字符。

在完成所有转换(可能无需转换)后返回最终的字符串。如果有多个解决方案,请返回其中任何一个。可以证明,在给定的约束条件下,答案总是存在的。

示例 1:

输入:s = "?zs"
输出:"azs"
解释:该示例共有 25 种解决方案,从 "azs" 到 "yzs" 都是符合题目要求的。只有 "z" 是无效的修改,因为字符串 "zzs" 中有连续重复的两个 'z' 。

示例 2:

输入:s = "ubv?w"
输出:"ubvaw"
解释:该示例共有 24 种解决方案,只有替换成 "v" 和 "w" 不符合题目要求。因为 "ubvvw" 和 "ubvww" 都包含连续重复的字符。

提示:

  • 1 <= s.length <= 100

  • s 仅包含小写英文字母和 '?' 字符

class Solution {
public:string modifyString(string s) {}
};

解析代码

思路就是遍历字符串找问号,找到后依次比较前一个字母和后一个字母,都不一样就替换问号。

class Solution {
public:string modifyString(string s) {int n = s.size();for(int i = 0; i < n; ++i){if(s[i] == '?'){for(char c = 'a'; c < 'z'; ++c){if((i == 0 || s[i-1] != c) && (i == n-1 || s[i+1] != c)){   // 或就是i==0就不用判断后面条件了s[i] = c;}}}}return s;}
};

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

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

相关文章

怎么去除图片中不需要的部分?这三种高效方法快来试一下

在数字图像处理的浩瀚世界中&#xff0c;去除图片中不必要部分的任务&#xff0c;宛如一幅细致的画卷&#xff0c;需精心描绘。这些不必要部分&#xff0c;可能是背景、水印、无关紧要物体或错误部分&#xff0c;它们如同图片中的瑕疵&#xff0c;需要被巧妙地修饰或去除。这不…

《每天一分钟学习C语言·十三》

1、清屏函数和暂停函数 头文件stdlib.h system(“cls”); system(“pause”); //暂停函数&#xff0c;按任意键继续 2、动态内存释放的问题 int ** p new int*[3]; p[0] new int(0); p[1] new int(1); p[2] new int(2);先申请一个二级指针内存空间&#xff0c;每个元素是…

09. 配置Eth-Trunk

文章目录 一. 初识Eth-Trunk1.1. Eth-Trunk的概述1.2. Eth-Trunk的优势1.3. Eth-Trunk的模式的优势 二. 实验专题2.1. 实验1&#xff1a;手工模式2.1.1. 实验拓扑图2.1.2. 实验步骤&#xff08;1&#xff09;配置PC机的IP地址&#xff08;2&#xff09;在交换机接口划入VLAN&am…

【Tomcat与网络11】如何自己实现一个简单的HTTP服务器

在前面我们尝试解释Tomcat的理论&#xff0c;但是呢&#xff0c;很多时候那些复杂的架构和设计会让我们眼花缭乱&#xff0c;以至于忽略了最进本的问题——服务器到底是什么&#xff1f;今天我们就用尽量简单的代码实现一个简易的HTTP服务器。 HTTP启动之后要持续监听&#xf…

校园网网络规划与设计——计算机网络实践报告

W...Y的主页 &#x1f60a; 代码仓库分享&#x1f495; 目录 一、设计目的 二、软硬件环境 三、理论基础 四、设计方案 五、网络配置步骤 六、设计过程中出现的问题及相应解决办法 八、参考资料 一、设计目的 深入理解网络工程的三层层次设计模型&#xff1b; 掌握网络…

Python实现GCJ02坐标系向WGS84坐标系的转换

GCJ02坐标系 GCJ-02&#xff08;官方称地形图非线性保密处理算法&#xff0c;俗称火星坐标系、国测局坐标&#xff09;是一种基于WGS-84制定的大地测量系统&#xff0c;由中国大陆国家测绘地理信息局制定。此坐标系所采用的混淆算法会在经纬度中加入看似随机的偏移。 使用GCJ…

ubuntu nginx配置密码访问并下载

nginx配置密码访问_htpasswd: cannot create file-CSDN博客 sudo apt-get install nginx sudo apt install apache2-utils # htpasswd -c /htpasswd/passwd.db test htpasswd -c /etc/nginx/htpasswd.d/nginx_passwd.kibana test # htpasswd -c ccreate 创建文件 # /htp…

2024年美赛数学建模A题思路分析 - 资源可用性和性别比例

# 1 赛题 问题A&#xff1a;资源可用性和性别比例 虽然一些动物物种存在于通常的雄性或雌性性别之外&#xff0c;但大多数物种实质上是雄性或雌性。虽然许多物种在出生时的性别比例为1&#xff1a;1&#xff0c;但其他物种的性别比例并不均匀。这被称为适应性性别比例的变化。…

【Java】阻塞队列

目录 BlockingQueue BlockingQueue接口 三个主要实现类介绍&#xff1a; ArrayBlockingQueue&#xff1a;有界队列 LinkedBlockingQueue&#xff1a;无界队列 SynchronousQueue:同步队列 队列对比 BlockingQueue 对于Queue而言&#xff0c;BlockingQueue是主要的线程安全…

有深浅入数据分析 - 启发法(凭人类的天性做分析)

在做数据分析的时候&#xff0c;往往最优的方法是艰难耗时间的 凭经验处理&#xff0c;迅速做出决策&#xff0c;确识能够奏效&#xff0c;进行数据分析的重要而必要的技能 领导的要求是&#xff1a; 邋遢集的处理方式是&#xff1a; 计量的方式处理 上图的调查问卷可以…

pytorch模型里 safetensors 文件、bin文件和pth文件区别、加载和保存方式

目录 PyTorch模型中的safetensors文件和bin文件区别 safetensors文件 bin文件 结论 区别bin文件和pth文件 1. 文件格式 2. 通用性 3. 期望内容 4. 兼容性和移植性 结论 加载和保存safetensors文件 保存safetensors文件 加载safetensors文件 加载和保存bin文件 保…

JVM 内存配置参数积累

0、简介 在进行JVM内存配置时&#xff0c;应当考虑到应用程序的实际需求和运行环境的资源限制&#xff0c;合理分配Xmx、Xms和Xmn参数&#xff0c;以获得最佳的性能表现。通常建议将Xms和Xmx设置为相同的值&#xff0c;以避免JVM在运行过程中动态调整堆大小带来的性能损耗。而…

Axure 动态面板初使用-实现简单的tab切换页面效果

使用工具版本 Axure 9 实现的效果 步骤过程 1、打开Axure 9&#xff0c;默认进入一个空白页&#xff0c;首先从元件库拉一个动态面板到页面中&#xff0c;位置肯定是C位咯~ 2、将面板尺寸调整一下&#xff0c;设置成你喜欢的数字&#xff0c;比如我就喜欢800600 3、然后…

学习日志以及个人总结(13) 指针!

指针 定义 访问内存地址 操控硬件 指针&#xff1a; 指针基本数据据类 指针数组 指针函数 指针指针 1.指针&#xff1a;就是地址-----就是内存的单元的编号 2.指针变量 语法&#xff1a; 基类型* 指针变量名&#xff1b; 基类型-------数据类型//基础数据类型 //数组…

python脚本将照片按时间线整理

说明&#xff1a;有一次自己瞎折腾&#xff0c;然后把服务器相册搞崩了&#xff0c;后来做了备份同步给找了回来&#xff0c;但是相册的时间线全乱了&#xff0c;看起来非常难受。所以就想通过文件夹的形式把照片重新分类&#xff0c;分类后的结构如下(红色字体为文件夹)&#…

item_get-根据ID取商品详情(shopee.item_get):跨境电商的未来趋势

根据您的需求&#xff0c;我为您撰写了一篇关于“item_get-根据ID取商品详情(shopee.item_get)&#xff1a;跨境电商的未来趋势”的文章。由于篇幅限制&#xff0c;我将提供文章的概要和部分内容&#xff0c;完整的文章将需要更多细节和展开。 item_get-根据ID取商品详情(shope…

《区块链简易速速上手小册》第7章:区块链在其他行业的应用(2024 最新版)

文章目录 7.1 供应链管理7.1.1 供应链管理中区块链的基础7.1.2 主要案例&#xff1a;食品安全追踪7.1.3 拓展案例 1&#xff1a;制药供应链7.1.4 拓展案例 2&#xff1a;汽车行业的零部件追踪 7.2 区块链在医疗保健中的应用7.2.1 医疗保健中区块链的基础7.2.2 主要案例&#xf…

今天聊聊软件研发部门孵化策略

声明&#xff1a;上述内容纯属个人瞎说&#xff0c;如有雷同请联系删除。 引&#xff1a;公司研发二部的同事召回来了&#xff0c;这边先恭喜他们荣耀而归。大家都欢心鼓舞、人事嘘寒问暖、综合端盘倒水&#xff1b;真热闹……。我们部门的同事就在边上办公&#xff0c;感触很深…

如何处理缓存一致性问题

* 如何解决缓存一致性问题 * 1. 更新缓存 * ①先更新缓存&#xff0c;再更新数据库. 如果先更新缓存成功了&#xff0c;但是更新数据库失败了&#xff0c;那么数据库将出现脏数据&#xff0c;否掉 * ②先更新数据库&#xff0c;再更新缓存. 如果先更新数据库&#xff0c;但更…

1451A/D/F捷变信号发生器

01 1451A/D/F捷变信号发生器 产品综述&#xff1a; 1451系列捷变信号发生器采用直接数字合成&#xff08;DDS&#xff09;技术和直接模拟合成技术&#xff08;ADS&#xff09;相结合的设计方案&#xff0c;实现覆盖10MHz~3/20/40GHz全频段的频率捷变&#xff0c;捷变时间小于…