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 }

     

  • 相关阅读:
    ps-- 制作磨砂背景
    ps -- 证件照
    抠图--薄,透
    60后发送短信的方法
    小项目 -- 验证码.js
    小项目
    小项目 -- phone.js
    基于GDAL提取地物,并生成png,最后加载到网页上(二)
    根据范围获取影像瓦片,并生成GeoTIFF 文件《一》
    Ubuntu 10.4 +NVIDIA GTX 1070 显卡驱动更新
  • 原文地址:https://www.cnblogs.com/newcoder/p/5812385.html
Copyright © 2011-2022 走看看