哈希表
import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); PrintWriter pw = new PrintWriter(System.out); String str = br.readLine(); Set<Character> set = new HashSet<>(1 << 8); for (char c : str.toCharArray()) { set.add(c); } pw.println(set.size()); pw.flush(); pw.close(); br.close(); } }
也可以用数组代替哈希表,效率可能会高一点点
import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); PrintWriter pw = new PrintWriter(System.out); String str = br.readLine(); boolean[] record = new boolean[1 << 7]; for (char c : str.toCharArray()) { record[c] = true; } int ans = 0; for (boolean r : record) { ans += r ? 1 : 0; } pw.println(ans); pw.flush(); pw.close(); br.close(); } }