HJ10 字符个数统计【牛客网】

文章目录

零、原题链接

HJ10 字符个数统计

一、题目描述

二、测试用例

三、解题思路

  1. 基本思路:
      建立字符串的散列表,然后统计不同字符个数
  2. 具体思路:
      遍历字符串的字符,如果散列表中存在该字符,则跳过,否则,则存入字符,并且不同字符数 +1

四、参考代码

时间复杂度: O ( n ) \Omicron(n) O(n)【字符散列的复杂度】

空间复杂度: O ( 1 ) \Omicron(1) O(1)【散列表的空间为常数级】

cpp 复制代码
#include <iostream>
#include <vector>
using namespace std;

int main() {
    vector<bool> _map(128);

    string str;
    cin >> str;

    int count = 0;
    for (const auto& x : str) {
        if (_map[x])
            continue;
        _map[x] = true;
        count++;
    }

    cout << count;
}
// 64 位输出请用 printf("%lld")
相关推荐
祈祷苍天赐我java之术38 分钟前
解析常见的限流算法
java·数据结构·算法
mit6.8241 小时前
dp|拆分控制
c++
Shinom1ya_1 小时前
算法 day 34
算法
啊董dong1 小时前
课后作业-2025-10-26
c++·算法·noi
liu****1 小时前
1.模拟算法
开发语言·c++·算法·1024程序员节
小猪咪piggy1 小时前
【算法】day10 分治
数据结构·算法·排序算法
又是忙碌的一天1 小时前
算法学习 13
数据结构·学习·算法
June`1 小时前
前缀和算法:高效解决区间和问题
算法·1024程序员节
再卷也是菜1 小时前
算法基础篇(9)倍增与离散化
c++·算法
无聊的小坏坏2 小时前
从零开始:C++ 多线程 TCP 服务器实战(续篇)
服务器·c++·tcp/ip