字符个数统计

题目描述

编写一个函数,计算字符串中含有的不同字符的个数。字符在 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
 */

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分)_算法

华为OD机试 - 字符个数统计(Java 2024 E卷 100分)_字符个数统计_02