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

义安区住房和城乡建设局建网站卯兔科技网站建设

义安区住房和城乡建设局建网站,卯兔科技网站建设,社区网站的推广方案,一元购网站建设流程1. 题目链接 LeetCode 1576. 替换所有的问号 2. 题目描述 给定一个仅包含小写字母和问号 ? 的字符串 s,要求将所有 ? 替换为任意小写字母,使得替换后的字符串中 没有相邻的两个字符相同。 示例: 输入:s "?zs" →…
1. 题目链接

LeetCode 1576. 替换所有的问号


2. 题目描述

给定一个仅包含小写字母和问号 '?' 的字符串 s,要求将所有 '?' 替换为任意小写字母,使得替换后的字符串中 没有相邻的两个字符相同
示例

  • 输入:s = "?zs" → 输出:"azs"(第一个 '?' 替换为 'a')。
  • 输入:s = "ubv?w" → 输出:"ubvaw"'?' 替换为 'a')。

3. 示例分析
  1. 简单替换
    • 输入:"a?b" → 输出:"acb"'?' 替换为 'c')。
  2. 边界处理
    • 输入:"??" → 输出:"ab"(两个 '?' 分别替换为 'a''b')。
  3. 复杂替换
    • 输入:"a?a" → 输出:"aba"(中间的 '?' 替换为 'b')。

4. 算法思路

核心思想

  1. 遍历字符串
    • 从左到右逐个字符处理,遇到 '?' 时进行替换。
  2. 字符选择策略
    • 'a''z' 依次尝试,选择第一个满足以下条件的字符:
      • 与左侧字符不同(若存在)。
      • 与右侧字符不同(若存在)。
  3. 左右判断
    • 每次替换只关注当前字符的左右邻居,确保局部最优,从而保证全局最优。

时间复杂度:O(n * 26) → O(n),其中 n 为字符串长度。
空间复杂度:O(1),无需额外空间。


5. 边界条件与注意事项
  1. 边界处理
    • '?' 位于字符串开头时,只需保证与右侧字符不同。
    • '?' 位于字符串末尾时,只需保证与左侧字符不同。
  2. 字符范围
    • 仅需替换为小写字母 'a'-'z',无需处理其他字符。
  3. 相邻字符冲突
    • 若左右字符相同(如 "a?a"),中间的 '?' 必须选择一个与两者不同的字符。

6. 代码实现
class Solution {
public:string modifyString(string s) {for (int i = 0; i < s.size(); i++) {if (s[i] == '?') {// 遍历 'a'-'z',寻找可替换字符for (char ch = 'a'; ch <= 'z'; ch++) {bool leftOk = (i == 0) || (s[i-1] != ch);   // 左侧无冲突bool rightOk = (i == s.size()-1) || (s[i+1] != ch); // 右侧无冲突if (leftOk && rightOk) {s[i] = ch;break; // 找到第一个可行字符后立即终止}}}}return s;}
};

在这里插入图片描述


关键代码解析

  1. 遍历字符串

    for (int i = 0; i < s.size(); i++)
    
    • 逐个字符检查是否为 '?'
  2. 字符替换逻辑

    for (char ch = 'a'; ch <= 'z'; ch++)
    
    • 'a''z' 依次尝试,找到第一个满足条件的字符。
  3. 条件检查

    bool leftOk = (i == 0) || (s[i-1] != ch);
    bool rightOk = (i == s.size()-1) || (s[i+1] != ch);
    
    • leftOk:若 '?' 在开头,无需检查左侧;否则检查左侧字符是否不同。
    • rightOk:若 '?' 在末尾,无需检查右侧;否则检查右侧字符是否不同。
  4. 替换并终止

    if (leftOk && rightOk) {s[i] = ch;break;
    }
    
    • 找到第一个可行字符后立即替换并跳出循环,保证时间复杂度最优。

与其他解法的对比

方法时间复杂度空间复杂度核心思想
模拟算法O(n)O(1)逐个替换,选择第一个可行字符
预填充法O(n)O(1)预先处理所有 '?' 的位置
随机替换法O(n)O(1)随机选择字符,可能需重试

文章转载自:

http://43rOmzaO.qyhcm.cn
http://yBVO950S.qyhcm.cn
http://gjFhR25y.qyhcm.cn
http://9oKjcEb8.qyhcm.cn
http://F87a2Yw6.qyhcm.cn
http://CG8qnzJb.qyhcm.cn
http://UMQkRnck.qyhcm.cn
http://q8dPdM1P.qyhcm.cn
http://FsaCPINY.qyhcm.cn
http://W7Ma6LCI.qyhcm.cn
http://qyzGPrSh.qyhcm.cn
http://31Z6rHs4.qyhcm.cn
http://rzshZfMo.qyhcm.cn
http://HL1dRtRj.qyhcm.cn
http://BpXhtWLY.qyhcm.cn
http://gyHLlkp7.qyhcm.cn
http://dWz4jNKu.qyhcm.cn
http://jqaL69rb.qyhcm.cn
http://FqiFBaJS.qyhcm.cn
http://CN4Zxcoe.qyhcm.cn
http://LXavqAMI.qyhcm.cn
http://3pgrw2mn.qyhcm.cn
http://g26YsunB.qyhcm.cn
http://sDQiEIgT.qyhcm.cn
http://DfD5nRIJ.qyhcm.cn
http://YW5ctf8X.qyhcm.cn
http://JWmYBvbb.qyhcm.cn
http://EwNNmKwh.qyhcm.cn
http://DN1mUT5m.qyhcm.cn
http://TzzNxOz8.qyhcm.cn
http://www.dtcms.com/wzjs/708050.html

相关文章:

  • 呼伦贝尔市建设网站wordpress 文章评分
  • 佛山做营销型网站建设营销技巧培训ppt
  • 深圳做的好的电子行业招聘网站网站开发属于购销合同
  • 洛阳做网站多少钱东莞浩智专业网站建设哪家好
  • 北京房山网站建设一个新手怎么去运营淘宝店铺
  • 网站通栏图片代码做网站什么框架方便
  • 天津网站设计与制作装修网站怎么做的好处
  • 各类网站网站建设的目标是什么意思网页版qq登录入口版qq账号登录界面
  • 什么网站做任务可以赚钱中企动力销售岗位怎么样
  • 建站工作室网站源码软件界面设计用什么软件
  • 手机营销型网站建设公司没有备案的网站 公司服务器 查到会怎么样
  • 怎么样做网站管理员怎么用模板做网站
  • 河北邯郸seo网站建设网站优化网站数据流分析怎么做
  • 做网站驻马店网站搭建php打不开
  • 网站被黑客入侵怎么办网站商城功能
  • 怎么跟客户介绍网站建设hexo用wordpress
  • seo网站关键词优化哪家好做网站的最佳方法
  • 一流的聊城做网站公司西安网址
  • 保定网站推广多少钱app制作平台灼灼琉璃夏漫画
  • 如何做中英文网站站酷设计师网站
  • 做个个人网站多少钱设计说明生成器
  • 网站改版的seo注意事项怎么设自己的网站
  • 襄阳市建设工程造价管理站网站企业文化宣传策划方案
  • 网站备案中是什么意思互联网服务平台投诉中心
  • 佛山网站推广优化公司湖南衡阳市建设工程造价网站
  • 网站做网络营销的效果网站建设 牛商网技术提供
  • 自己制作网站做外贸赚钱吗培训中心网站建设方案
  • 客户网站建设确认书加盟好项目
  • 店铺网页设计图片网站优化推广怎么做
  • 徐州好点的做网站的公司有哪些如何申请免费空间和域名