题解 | 字符个数统计
想到了使用位运算替代普通的set
但是具体编码不知道如何操作 如果自己写的话
看了题解才发现可以直接使用java api 提供的 bitset
其中具体操作有
BitSet bs=new BitSet(128);
bs.get(c)
bs.set(c)
bs.cardinality() 记一下吧
cardinality是基数的意思 在这里也就是bit=1的个数
import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 String s = in.nextLine(); BitSet bs=new BitSet(128); for(char c:s.toCharArray()){ if(!bs.get(c)){ bs.set(c); } } System.out.println(bs.cardinality()); } }