LeetCode 1576. 替换所有的问号

文章目录

    • 1. 题目
    • 2. 解题

1. 题目

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

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

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

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

示例 1:
输入:s = "?zs"
输出:"azs"
解释:该示例共有 25 种解决方案,从 "azs""yzs" 都是符合题目要求的。
只有 "z" 是无效的修改,因为字符串 "zzs" 中有连续重复的两个 'z' 。示例 2:
输入:s = "ubv?w"
输出:"ubvaw"
解释:该示例共有 24 种解决方案,只有替换成 "v""w" 不符合题目要求。
因为 "ubvvw""ubvww" 都包含连续重复的字符。示例 3:
输入:s = "j?qg??b"
输出:"jaqgacb"示例 4:
输入:s = "??yw?ipkj?"
输出:"acywaipkja"提示:
1 <= s.length <= 100
s 仅包含小写英文字母和 '?' 字符

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/replace-all-s-to-avoid-consecutive-repeating-characters
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

class Solution {
public:string modifyString(string s) {vector<char> ch(26);for(int i = 0; i < 26; i++)ch[i] = 'a'+i;for(int i = 0; i < s.size(); i++){if(s[i] == '?'){set<char> st(ch.begin(), ch.end());if(i > 0)st.erase(s[i-1]);//删除前面字符if(i+1 < s.size())st.erase(s[i+1]);//删除后面字符s[i] = *st.begin();}}return s;}
};

12 ms 7.6 MB


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
Michael阿明

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

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

相关文章

tcp十种状态

CLOSED&#xff1a;表示关闭状态&#xff08;初始状态&#xff09;。 LISTEN&#xff1a;该状态表示服务器端的某个SOCKET处于监听状态&#xff0c;可以接受连接。 SYN_SENT&#xff1a;这个状态与SYN_RCVD遥相呼应&#xff0c;当客户端SOCKET执行CONNECT连接时&#xff0c;它首…

Ural 1519. Formula 1 优美的插头DP

今天早上学了插头DP的思想和最基础的应用&#xff0c;中午就开始敲了&#xff0c;岐哥说第一次写不要看别人代码&#xff0c;利用自己的理解一点点得写出来&#xff0c;这样才锻炼代码能力&#xff01;于是下午慢慢地构思轮廓&#xff0c;一点点地敲出主体代码&#xff0c;其实…

TCP的2MSL问题

2MSL (Maximum SegmentLifetime) TIME_WAIT状态的存在有两个理由&#xff1a; 让4次挥手关闭流程更加可靠&#xff1b;4次挥手的最后一个ACK是是由主动关闭方发送出去的&#xff0c;若这个ACK丢失&#xff0c;被动关闭方会再次发一个FIN过来。若主动关闭方能够保持一个2MSL的TI…

LeetCode 1577. 数的平方等于两数乘积的方法数(双指针)

文章目录1. 题目2. 解题1. 题目 给你两个整数数组 nums1 和 nums2 &#xff0c;请你返回根据以下规则形成的三元组的数目&#xff08;类型 1 和类型 2 &#xff09;&#xff1a; 类型 1&#xff1a;三元组 (i, j, k) &#xff0c;如果 nums1[i]2 nums2[j] * nums2[k] 其中 0…

LeetCode 1578. 避免重复字母的最小删除成本

文章目录1. 题目2. 解题1. 题目 给你一个字符串 s 和一个整数数组 cost &#xff0c;其中 cost[i] 是从 s 中删除字符 i 的代价。 返回使字符串任意相邻两个字母不相同的最小删除成本。 请注意&#xff0c;删除一个字符后&#xff0c;删除其他字符的成本不会改变。 示例 1&…

hdu2709 Sumsets 递推

题目链接&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid2709 感觉很经典的一道递推题 自己想了有半天的时间了。。。。比较弱。。。。 思路&#xff1a; 设f[n]表示和为n的组合数&#xff1b; 那么 当n为奇数时&#xff0c;很简单&#xff0c;相当于在f[n-1]的每一个…

python入门字符串

python 字符串str&#xff0c; ‘’, ‘’ ‘’, ‘’’ ‘’’;python没有字符&#xff0c;只有字符串hh 切片 字符串不可以修改&#xff0c;修改的话&#xff0c;类似于tuple, 修改的话&#xff0c; 只可以整体修改 tuple 也是可这样&#xff0c; 确切的说只是修改了指针…

python 经典100例(1-20)

【程序1】题目&#xff1a;有1、2、3、4个数字&#xff0c;能组成多少个互不相同且无重复数字的三位数&#xff1f;都是多少&#xff1f;1.程序分析&#xff1a;可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。 2.程序源代码&#xff1…

go ioc三方库推荐

在 Go 语言中&#xff0c;没有像 Spring Boot 这样的完整的 IOC&#xff08;Inversion of Control&#xff09;框架。Go 语言的设计哲学更倾向于简洁、轻量级的解决方案&#xff0c;没有像 Java 的 Spring Framework 这样重量级的 IOC 容器。 然而&#xff0c;Go 社区中有一些…

统一编址 独立编址 寻址空间

概念 存储器统一编址,即从存储空间中划出一部分地址给I/O端口。CPU访问端口和访问存储器的指令在形式上完全相同&#xff0c;只能从地址范围来区分两种操作。优点 对端口操作的指令类型多&#xff0c;功能全&#xff0c;不仅能对端口进行数据传送&#xff0c;还可以对端口内容进…

阿里云 超级码力在线编程大赛初赛 第4场 题目3. from start to end

文章目录1. 题目2. 解题1. 题目 样例1&#xff1a; 输入&#xff1a; "abcd" "bcda" 输出&#xff1a; true样例2&#xff1a; 输入&#xff1a; "abcd" "abdc" 输出&#xff1a; false来源&#xff1a;https://tianchi.aliyun.com/oj…

Codeforces Round #697 (Div.3) A~G解题报告与解法证明

题目大体概括 A #include <cstdio> #include <cstring> #include <algorithm> #include <iostream> using namespace std;typedef long long LL; const int N 500; LL a[N]; int sz; bool Check(LL n) {for (int i 0; i < sz; i ){if (n a[i])…

python网络编辑 socket篇

Python之路&#xff1a; socket篇 Socket 网络上的两个程序通过一个双向的通信连接实现数据的交换&#xff0c;这个连接的一端称为一个socket&#xff0c;作为BSD UNIX的进程通信机制&#xff0c;通常也称做“套接字” &#xff0c;是一个通信链的句柄&#xff0c;实现不同程序…

java获取插入数据库表中的自增列值的一个简单方法

PreparedStatement ps conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS); // 第一步 ps.executeUpdate(); //第二步 ResultSet rs ps.getGeneratedKeys(); //获取 rs.next(); int id rs.getInt(1); 转载于:https://www.cnblogs.com/blogyuan/p/3739657…

Codeforces Round #698 (Div. 2) A-E解题报告与解法证明

Codeforces Round #698 (Div. 2) A-E解题报告与解法证明 题目解法总体概括 A Nezzar and Colorful Balls #include <bits/stdc.h> using namespace std;const int N 110; int a[N], f[N];int main() {int t; cin >> t;while (t -- ){static int n;scanf("%…

python开始之路—基础中的基础

python之路&#xff1a; 基础篇 一、Python 1、python是怎么来的 是在1989年吉多范罗苏姆&#xff0c;在圣诞节的时候闲着无聊自己用C语言开发的&#xff0c;一个脚本解释程序&#xff0c;作为ABC语言的一种继承。 2、有哪些公司在用 Youtube、Dropbox、BT、Quor…

关于malloc与字符指针的一些易错点

有如下一段代码&#xff0c;意图把“zhongxiaoming"字符串赋值进以p为首地址的空间为15字节的内存空间&#xff0c;然后释放p所指向的内存&#xff0c;以免出现内存泄露。 该代码出现几个问题&#xff0c;涉及到内存的赋值、malloc函数以及free函数的用法&#xff0c;以及…

第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛(同步赛)解题报告

第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛&#xff08;同步赛&#xff09; 题目总结 A题 切蛋糕 题目信息 解题思路 如果我们将 1/k展开到二进制的形式&#xff0c;那么就可以计算出 需要 多少块1/(2^i) 蛋糕&#xff0c;因此就可以创建出分割的方案&#xff0c;最后进行…

02.改善深层神经网络:超参数调试、正则化以及优化 W2.优化算法

文章目录1. Mini-batch 梯度下降2. 理解 mini-batch 梯度下降3. 指数加权平均数4. 理解指数加权平均数5. 指数加权平均的偏差修正6. 动量Momentum梯度下降法7. RMSprop8. Adam 优化算法9. 学习率衰减10. 局部最优的问题作业参考&#xff1a; 吴恩达视频课 深度学习笔记 1. Min…

PowerDesigner建数据库模型增加自定义扩展属性

PowerDesigner自7.x新增加一个特性&#xff0c;就是允许用户通过扩展模型的方式扩展模型的属性,但到底怎用一直搞不清楚&#xff0e;今天和同事商量准备直接在程序的Metadata信息实现上直接使用pdm时&#xff0c;我们需要对其进行扩展&#xff0c;因此又碰到这个问题&#xff0…