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 }

     

  • 相关阅读:
    nullptr 与 null
    nullptr 与 null
    UNREFERENCED_PARAMETER 的作用
    Kali-Linux无线网络渗透测试-李亚伟-第3章-监听WiFi网络--虚拟机使用无线网卡
    探寻Linux背后的“美丽心灵”——Linux创始人Linus Torvalds访谈录
    Angular2(Beta)入门
    angular2 will be kiiled by react in the future?
    《Linux设备驱动开发详解(第3版)》(即《Linux设备驱动开发详解:基于最新的Linux 4.0内核》)前言
    Angular vs React – so which do I chose?
    2015-2016前端知识体系
  • 原文地址:https://www.cnblogs.com/newcoder/p/5812385.html
Copyright © 2011-2022 走看看