zoukankan      html  css  js  c++  java
  • 31:删除字符串中出现次数最少的字符

    题目描述

    实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。

    输入描述:字符串只包含小写英文字母, 不考虑非法输入,输入的字符串长度小于等于20个字节。

    输出描述:删除字符串中出现次数最少的字符后的字符串。

    输入例子:

    abcdd

    输出例子:

    dd

    思路:统计各个字符出现的次数,放在LinkedHashMap里,可以把values取出来放到一个collection里,直接调用collection的min()得到出现次数最小的次数;

    然后根据整个char[]数组遍历,map里边

    if(map.get(keys) != minIndex)

    {

    sb.append(keys);

    }

    进行过滤

     1 import java.util.Collection;
     2 import java.util.Collections;
     3 import java.util.LinkedHashMap;
     4 import java.util.Map;
     5 /*题目描述
     6 实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。
     7 输入描述:字符串只包含小写英文字母, 不考虑非法输入,输入的字符串长度小于等于20个字节。
     8 输出描述:删除字符串中出现次数最少的字符后的字符串。
     9 输入例子:
    10 abcdd
    11 
    12 输出例子:
    13 dd*/
    14 import java.util.Scanner;
    15 
    16 public class Main {
    17 
    18     public static void main(String[] args) {
    19         // TODO Auto-generated method stub
    20         Scanner in  = new Scanner(System.in);
    21         while(in.hasNext())
    22         {
    23             String inputString = in.next();
    24             char[] inputChar = inputString.toCharArray();
    25             Map<Character, Integer> map = new LinkedHashMap<>();
    26             for (char c : inputChar) {
    27                 if(map.containsKey(c))
    28                 {
    29                     map.put(c, map.get(c)+1);
    30                 }else {
    31                     map.put(c, 1);
    32                 }
    33             }
    34             Collection<Integer> values = map.values();//工具类要常用!
    35             int minIndex = Collections.min(values);//直接借助collections找最值!
    36             StringBuffer sb = new StringBuffer();
    37             for (char keys : inputChar) {
    38                 if(map.get(keys) != minIndex)
    39                 {
    40                     sb.append(keys);
    41                 }
    42             }
    43             System.out.println(sb);
    44             }
    45     }
    46 
    47 }

     

  • 相关阅读:
    心情不好的时候
    离骚
    沁园春.雪
    顾炎武《精卫》
    韩愈《祝融峰》
    Python量化交易的简单介绍
    H5页面跳转到小程序代码
    小程序上拉加载,下拉刷新
    第一阶段:Python开发基础 day36 并发编程之Process的join用法和其他用法
    课后练习 第一阶段:Python开发基础 day38 多线程相关小练习
  • 原文地址:https://www.cnblogs.com/newcoder/p/5812385.html
Copyright © 2011-2022 走看看