基因变化
题目大意
题目给出一个仅包含英文字符和数字字符的字符串 SSS ,表示 Jerry 的基因序列,需要交换第 xxx 个和第 yyy 个基因,如果交换的两个基因相同,则两个基因会同时变成 # ,最后输出变化后的基因序列。
题意分析
我们只需直接输入字符串和两个整数,然后判断两个位置上的字符是否相等,如果相等则将两个位置上的字符修改为 # ,否则交换两个字符即可。
解题思路
根据题目意思,我们可以直接使用 cin 进行输入。由于字符串下标从 000 开始,我们需要对 xxx 和 yyy 进行减 111 操作,此时 SxS_xSx 和 SyS_ySy 分别表示第 xxx 个基因和第 yyy 个基因。
判断 SxS_xSx 跟 SyS_ySy 是否相等,相等将两个位置上的字符修改为 # ,否则使用 swap 函数交换 SxS_xSx 和 SyS_ySy 。
最后输出字符串即可。
时间复杂度解析
字符串输入时间复杂度为 O(n)O(n)O(n),因此本题时间复杂度为 O(n)O(n)O(n)
代码演示