专栏导读
本专栏收录于 《华为OD机试(JAVA)真题(E卷+D卷+A卷+B卷+C卷)》 。
刷的越多,抽中的概率越大,私信javapub,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新,全天CSDN在线答疑。
字符个数统计
题目描述
编写一个函数,计算字符串中含有的不同字符的个数。字符在 ASCII 码范围内(0~127,包括0和127),换行表示结束符,不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次。
数据范围: 1 ≤ n ≤ 500
输入描述
输入一行没有空格的字符串。
输出描述
输出输入字符串中范围在(0~127,包括0和127)字符的种数。
示例
示例1
输入
abc
输出
3
示例2
输入
aaa
输出
1
Java 编程
package cn.net.javapub.demo2.demo;/*** @author: shiyuwang* @url: http://javapub.net.cn*/import java.util.Scanner;
import java.util.BitSet;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);String line = scanner.next();//总共有128个字符。字需要用128位BitSet bitSet = new BitSet(128);for (char c : line.toCharArray()) {//判断字符c是否已出现if (!bitSet.get(c)) {//未出现就设置为已出现bitSet.set(c);}}//统计有多少字符已出现过System.out.println(bitSet.cardinality());}
}
展示效果:
🏆下一篇: 华为OD机试 - 提取不重复的整数(Java 2024 E卷 100分)
🏆本文收录于, 搬砖工逆袭Java架构师
刷的越多,抽中的概率越大,私信javapub,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新,全天CSDN在线答疑。