欢迎光临散文网 会员登陆 & 注册

Java-删除最少字符

2023-04-10 09:27 作者:红叶快乐起来  | 我要投稿

题目描述

删除字符串中出现次数最少的字符
如果多个字符出现次数一样则都删除

输入描述

输入只包含小写字母

输出描述

输出删除后剩余的字符
若删除后字符串长度为0,则输出empty

示例一

输入

abcdd


输出

dd


示例二

输入

aabbccdd


输出

empty

参考解题 Java

import java.util.*;
ublic class Main{
  public static void main(String[] args) {
    try (Scanner scanner = new Scanner(System.in)) {
      String line = scanner.nextLine();
      solution(line);
    }
  }

  private static void solution(String line) {
    HashMap<Character, Long> map = new HashMap<>();
    for (char c : line.toCharArray()) {
      map.put(c, map.containsKey(c) ? map.get(c) + 1 : 1L);
    }

    Long[] counts = new Long[map.values().size()];
    Long[] longs = map.values().toArray(counts);
    Arrays.sort(longs);
    Long min = longs[0];
    for (Map.Entry<Character, Long> entry : map.entrySet()) {
      if (entry.getValue().equals(min)) {
        line = line.replaceAll(entry.getKey() + "", "");
      }
    }

    System.out.println(line.length() == 0 ? "empty" : line);
  }
}



Java-删除最少字符的评论 (共 条)

分享到微博请遵守国家法律