華爲OJ 刪除字符串中出現次數最少的字符

實現刪除字符串中出現次數最少的字符,若多個字符出現次數一樣,則都刪除。輸出刪除這些單詞後的字符串,字符串中其它字符保持原來的順序

JAVA代碼:

/*

*通過輸入一串字符,轉換成char[],然後複製給ArrayList(因爲它可以動態刪除增加,靈活的查詢),然後通過循環比較每一個字母出現的次數,如果少,就使String as變爲空,然後再加入這個最少的字母,如果跟之前的一樣少,那就在原來的as基礎上加上這個字母。

最後通過字符串as就能知道要刪除哪些字母了,然後刪除就行。

*/

import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
        String s=sc.nextLine();
        char[] a=s.toCharArray();
        String as="";
        int blen=0;
        ArrayList<Character> list = new ArrayList<Character>();
        for(int i=0;i<a.length;i++){
        list.add(a[i]);
        }
        int min=10000;
        int len=list.size();
        for(int i=0;i<len;i++){
        int count=0;
        for(int j=0;j<len;j++)
        if(j!=i&&list.get(i).equals(list.get(j))){
        count++;
        }
        if(count<min){
        min=count;
        as="";
        as+=list.get(i);
        }
        else if(min==count){
        as+=list.get(i);
        }
       
        }
        char[] astob=as.toCharArray();
        for(int j=0;j<astob.length;j++)
        for(int i=0;i<list.size();i++){
        if(list.get(i).equals(astob[j])){
        list.remove(i);
        }
        }
        for(int i=0;i<list.size();i++)
        System.out.print(list.get(i));
        System.out.println();
        
    }
}

發佈了37 篇原創文章 · 獲贊 4 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章