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

    题目描述

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

    输入描述:

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

    输出描述:

    删除字符串中出现次数最少的字符后的字符串。

    示例1

    输入

    abcdd

    输出

    dd

    Java:用两个数组来记录各个字符的个数,一个用来排序找出最小的字符出现次数,一个用来决定是否输出当前字符。

     1 import java.util.Arrays;
     2 import java.util.Scanner;
     3 
     4 public class Main {
     5     
     6     public static void main(String[] args) {
     7         Scanner sc=new Scanner(System.in);
     8         while(sc.hasNext()){
     9             String s = sc.nextLine();
    10             int[] state = new int[26];
    11             int[] temp_state = new int[26];
    12             for(int i = 0; i < s.length(); i++){
    13                 state[s.charAt(i)-'a']++;
    14                 temp_state[s.charAt(i)-'a']++;
    15             }
    16             Arrays.sort(temp_state);
    17             int num = 0;
    18             for(int i = 0; i < temp_state.length; i++){
    19                 if(temp_state[i]!=0){
    20                     num = temp_state[i];
    21                     break;
    22                 }
    23             }
    24             for(int i = 0; i < s.length(); i++){
    25                 if(state[s.charAt(i)-'a']!=num){
    26                     System.out.print(s.charAt(i));
    27                 }
    28             }
    29             System.out.println();
    30         }
    31         sc.close();
    32     }
    33     
    34 }
  • 相关阅读:
    获取图形验证码
    cmd命令操作Oracle数据库
    关于VC工程编译不过去这件事
    Boost.Asio的使用技巧
    boost 实现http断点续传
    http和ftp下载的区别
    VS2008 debug可以编译过,Release No such file or directory
    C++ 类中特殊的成员变量(常变量、引用、静态)的初始化方法
    在VC中改变TAB顺序的方法
    BCG界面库
  • 原文地址:https://www.cnblogs.com/zdtiio/p/7574228.html
Copyright © 2011-2022 走看看