官方题解|基因变化
2024-10-21 10:56:31
发布于:浙江
7阅读
0回复
0点赞
基因变化
题目大意
题目给出一个仅包含英文字符和数字字符的字符串 ,表示 Jerry 的基因序列,需要交换第 个和第 个基因,如果交换的两个基因相同,则两个基因会同时变成 #
,最后输出变化后的基因序列。
题意分析
我们只需直接输入字符串和两个整数,然后判断两个位置上的字符是否相等,如果相等则将两个位置上的字符修改为 #
,否则交换两个字符即可。
解题思路
根据题目意思,我们可以直接使用 cin 进行输入。由于字符串下标从 开始,我们需要对 和 进行减 操作,此时 和 分别表示第 个基因和第 个基因。
判断 跟 是否相等,相等将两个位置上的字符修改为 #
,否则使用 swap 函数交换 和 。
最后输出字符串即可。
时间复杂度解析
字符串输入时间复杂度为 ,因此本题时间复杂度为
代码演示
#include<iostream>
using namespace std;
int main(){
string s;
cin >> s;
int x, y;
cin >> x >> y;
-- x, -- y;
if(s[x] == s[y]) s[x] = s[y] = '#';
else swap(s[x], s[y]);
cout << s << endl;
return 0;
}
全部评论 1
讨论区不能发题解(恼)
2024-10-25 来自 浙江
0
有帮助,赞一个