题解 | #字符个数统计#

字符个数统计

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());
    }
}

全部评论

相关推荐

10-21 00:37
已编辑
门头沟学院 C++
小浪_Coding:你问别人,本来就是有求于人,别人肯定没有义务免费回答你丫, 有点流量每天私信可能都十几,几十条的,大家都有工作和自己的事情, 付费也是正常的, 就像你请别人搭把手, 总得给人家买瓶水喝吧
点赞 评论 收藏
分享
渴望wlb的牛油果很...:直说卡第一学历不就行了 非得拐弯抹角
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务