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);
    }

}
全部评论

相关推荐

那一天的Java_Java起来:他本来公司就是做这个的,不就是正常的游戏客户端和服务器开发,软硬件联动,有啥恶心不恶心的,提前告诉你就是怕你接受不了,接受不了就没必要再往后走流程浪费时间,虽然这公司是一坨。
点赞 评论 收藏
分享
自由水:笑死了,敢这么面试不敢让别人说
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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