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

}
全部评论

相关推荐

02-15 17:05
已编辑
东华理工大学 前端工程师
Beeee0927:我建议是精简一点吧,比如主修的课程,技能特长,自我评价我是觉得可以删掉了。然后项目经历可能要考虑怎么改得更真实一点,因为就我看起来感觉里面太多的东西像是在实际项目中才能接触到的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务