题解 | #游游的字母翻倍#

游游的字母翻倍

https://www.nowcoder.com/practice/e10ed38e315442fc9772004c58582c8f

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int t = sc.nextInt();

        StringBuilder sb = new StringBuilder();
        String s = sc.next();

        for (int i = 0; i < n; i++) {
            sb.append(s.charAt(i));
        }

        while (t-- > 0) {
            int l = sc.nextInt(), r = sc.nextInt();
            // i += 2是因为每次会新加入一个字符,因此i应该往后移动两个位置,这样就刚好到达下一个所需添加的字符
            for (int i = l - 1; i < r; i += 2) {
                sb.insert(i, sb.charAt(i));
                // 由于每次会加入一个数,因此右边界也应该跟着往后移动一个位置
                r++;
            }
        }

        System.out.println(sb.toString());
        sc.close();
    }
}

全部评论

相关推荐

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

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务