华为-删除字符串中出现次数最少的字符

(java实现)


题目描述:

实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。
注意每个输入文件有多组输入,即多个字符串用回车隔开

输入描述:

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

输出描述:

删除字符串中出现次数最少的字符后的字符串。
示例1:

输入

abcdd
aabcddd

输出

dd
aaddd

问题分析:

相关知识:


参考代码:

思路一实现:

import java.util.*;
public class Main {

    public static void main(String[] args)
    {
        Scanner input = new Scanner(System.in);
        while (input.hasNext())
        {
            String line = input.nextLine();
            char[] ch = line.toCharArray();
            int[] arr = new int[26];
            for (int i=0; i<ch.length; i++)
            {
                arr[ch[i]-'a']++;
            }
            int min = 200;
            for (int i=0; i<26; i++)
            {
                if (arr[i]>0 && arr[i]<min)
                    min = arr[i];
            }
            String res = "";
            for (int i=0; i<ch.length; i++)
            {
                if (min != arr[ch[i]-'a'])
                    res += ch[i];
            }
            System.out.println(res);
        }
    }
}

思路二实现:

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务