自助wap建站,建设网站业务不好做,网络营销业务流程,wordpress注册填写密码目录
模拟算法原理
力扣1576. 替换所有的问号
解析代码 模拟算法原理 模拟算法是一种常用的计算机算法#xff0c;它模拟了实际问题的运行过程#xff0c;并通过数学模型来预测结果。模拟算法可以应用于各个领域#xff0c;例如物理、化学、生物、计算机网络等等。 模拟算…目录
模拟算法原理
力扣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[i1] ! c)){ // 或就是i0就不用判断后面条件了s[i] c;}}}}return s;}
};