牛客网测试题

题目
image
Java解题

public class test05 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while(scanner.hasNextLine()){
            String s = scanner.nextLine();
            char[] chars = s.toCharArray();
            int length = chars.length;
            char[] transArr = new char[length];
            for (int i = 0; i < chars.length; i++) {
                char c = Character.isDigit(chars[i]) ? chars[i] : (Character.isLowerCase(chars[i]) ? chars[i] : Character.toLowerCase(chars[i]));
                transArr[i] = c;
            }
//            System.out.println(transArr);
            HashMap<Character, Integer> map1 = new HashMap<>();
            StringBuffer stringBuffer = new StringBuffer();
            for (int i = 0; i < transArr.length; i++) {
                map1.put(transArr[i],map1.getOrDefault(transArr[i],0)+1);
                if(i == transArr.length-1){
                    stringBuffer.append(transArr[i]+""+map1.get(transArr[i]));
                    break;
                }
                if(transArr[i]!=transArr[i+1]){
                    stringBuffer.append(transArr[i]+""+map1.get(transArr[i]));
                    map1 = new HashMap<Character, Integer>();
                }
            }
            System.out.println(stringBuffer);
        }
    }
}
posted @ 2025-11-09 17:24  平地长得万丈高  阅读(0)  评论(0)    收藏  举报