题解 | #字符个数统计#
字符个数统计
http://www.nowcoder.com/practice/eb94f6a5b2ba49c6ac72d40b5ce95f50
import java.util.BitSet;
import java.util.Scanner;
/**
* 字符个数统计
*
* @author wangchao
* @since JDK 1.8
* create at 2021-11-04 11:57
*/
public class Main {
//描述
//编写一个函数,计算字符串中含有的不同字符的个数。字符在 ASCII 码范围内( 0~127 ,包括 0 和 127 ),换行表示结束符,不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次
//例如,对于字符串 abaca 而言,有 a、b、c 三种不同的字符,因此输出 3 。
//
//数据范围:
//输入描述:
//输入一行没有空格的字符串。
//
//输出描述:
//输出 输入字符串 中范围在(0~127,包括0和127)字符的种数。
//凡是涉及到去重统计都可以用位图实现。因为每一个不同的数据只需要用二进制的一位存储即可,大大减小了统计所使用的存储空间
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
BitSet bitSet = new BitSet(128);
String line = sc.nextLine();
for (char ch : line.toCharArray()){
if(!bitSet.get(ch))
{
bitSet.set(ch);
}
}
System.out.println(bitSet.cardinality());
}
}
vivo公司福利 363人发布
