筆試題--刪除字串中出現次數最少的字元(5)
阿新 • • 發佈:2019-02-18
/**
*
* 實現刪除字串中出現次數最少的字元,若多個字元出現次數一樣,則都刪除。
* 輸出刪除這些單詞後的字串,字串中其它字元保持原來的順序。
輸入描述:
字串只包含小寫英文字母, 不考慮非法輸入,輸入的字串長度小於等於20個位元組。
輸出描述:
刪除字串中出現次數最少的字元後的字串。
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Scanner;
public class DelLeastChar {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
String string = sc.nextLine();
char[] A = string.toCharArray();
Map<Character, Integer> m = new LinkedHashMap<Character, Integer>();
for (char c : A) {
if (!m.containsKey(c)) {
m.put(c, 1);
} else {
m.put(c, m.get(c) + 1);
}
Collection<Integer> al = m.values();
int index = Collections.min(al);
StringBuffer sb = new StringBuffer("");
for (char c : A) {
if (m.get(c) != index) sb.append(c);
}
System.out.print(sb.toString());
}
}
}
*
* 實現刪除字串中出現次數最少的字元,若多個字元出現次數一樣,則都刪除。
* 輸出刪除這些單詞後的字串,字串中其它字元保持原來的順序。
輸入描述:
字串只包含小寫英文字母, 不考慮非法輸入,輸入的字串長度小於等於20個位元組。
輸出描述:
刪除字串中出現次數最少的字元後的字串。
*/
import java.util.Collection;import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Scanner;
public class DelLeastChar {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
String string = sc.nextLine();
char[] A = string.toCharArray();
Map<Character, Integer> m = new LinkedHashMap<Character, Integer>();
for (char c : A) {
if (!m.containsKey(c)) {
m.put(c, 1);
} else {
m.put(c, m.get(c) + 1);
}
}
int index = Collections.min(al);
StringBuffer sb = new StringBuffer("");
for (char c : A) {
if (m.get(c) != index) sb.append(c);
}
System.out.print(sb.toString());
}
}
}