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")
相关推荐
CHANG_THE_WORLD43 分钟前
金字塔降低采样
算法·金字塔采样
不知天地为何吴女士3 小时前
Day32| 509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯
算法
小坏坏的大世界3 小时前
C++ STL常用容器总结(vector, deque, list, map, set)
c++·算法
liulilittle4 小时前
C++ TAP(基于任务的异步编程模式)
服务器·开发语言·网络·c++·分布式·任务·tap
励志要当大牛的小白菜5 小时前
ART配对软件使用
开发语言·c++·qt·算法
qq_513970445 小时前
力扣 hot100 Day56
算法·leetcode
PAK向日葵6 小时前
【算法导论】如何攻克一道Hard难度的LeetCode题?以「寻找两个正序数组的中位数」为例
c++·算法·面试
爱喝矿泉水的猛男8 小时前
非定长滑动窗口(持续更新)
算法·leetcode·职场和发展
YuTaoShao8 小时前
【LeetCode 热题 100】131. 分割回文串——回溯
java·算法·leetcode·深度优先
YouQian7729 小时前
Traffic Lights set的使用
算法