Java求解:“安置路灯”

Java
解题思路:对于每个字符串从左向右遍历,遇到‘.’则将结果➕1,同时将该位置及其右一、右二,三个位置的字符值为‘X’。

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int t = scan.nextInt();
        int[] arrNum = new int[t];
        String[] arrStr = new String[t];

        for(int i=0; i<t; i++) {
            arrNum[i] = scan.nextInt();
            arrStr[i] = scan.next();
        }
        scan.close();
        // 依次处理每个字符串
        for(int i=0; i<t; i++) {
            int len = arrNum[i];
            String curStr = arrStr[i];
            lightNum(len, curStr);
        }

    }

    private static void lightNum(int len, String str) {
        int res = 0;
        char[] charArr = str.toCharArray();

        for(int i=0; i<len; i++) {
            if(charArr[i] == '.') {
                res++;
                charArr[i] = 'X';
                if(i<len-1) {
                    charArr[i+1] = 'X';
                }
                if(i<len-2) {
                    charArr[i+2] = 'X';
                }
            }
        }

        System.out.println(res);
    }

}
全部评论

相关推荐

不愿透露姓名的神秘牛友
06-10 15:24
高考前一晚在OPPO手机上设置了早上5:30的闹钟,然而闹钟并未按时响起。直到妈妈做好早餐后,在6:27打开手机才发现闹钟未触发,“气得早上饭都没吃”。资本家你赢了
永不遗忘:我来解释一下 :Oppo 手机晚上两点会自动进行系统更新,这个系统更新会重置掉所有设置好的闹钟,而且他也不会告诉你,而且只有 Oppo 会这样,华为苹果小米三星都不会
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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