题解 | 游游的字母翻倍

# n 表示查询(操作)的次数
length, n = map(int, input().split())

char = input()

for i in range(n):
    a, b = map(int, input().split())
    # 将 1-based 索引转换为 0-based 索引
    a -= 1
    b -= 1
    while a <= b:
        # 将 s 中索引 l 处的字符复制到其后面
        # s[:l+1] 是字符串从开始到 l(包括 l)的部分
        # s[l] 是要复制的字符
        # s[l+1:] 是从 l+1 到字符串末尾的部分
        char = char[: a + 1] + char[a] + char[a + 1 :]

        # 更新 l 和 r 以处理下一个字符
        # l 增加 2,因为我们在 l 处插入了一个字符,所以下一个要处理的字符索引增加了 2
        # r 增加 1,因为字符串长度增加了,我们需要保持 r 指向原范围的末尾
        a += 2
        b += 1

print(char)

全部评论

相关推荐

野猪不是猪🐗:我assume that你must技术aspect是solid的,temperament也挺good的,however面试不太serious,generally会feel style上不够sharp
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务