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")
相关推荐
月明长歌2 分钟前
【码道初阶】【LeetCode 958】判定完全二叉树:警惕 BFS 中的“管中窥豹”陷阱
算法·leetcode·宽度优先
MC皮蛋侠客24 分钟前
Linux C++使用GDB调试动态库崩溃问题完全指南
linux·c++
超轶绝尘34 分钟前
C++学习笔记 23 宏 Macro
c++
一直都在5721 小时前
数据结构入门:二叉排序树的构建与相关算法
数据结构·算法
_Minato_1 小时前
数据结构知识整理——复杂度的计算
数据结构·经验分享·笔记·算法·软考
listhi5201 小时前
针对燃油运输和车辆调度问题的蚁群算法MATLAB实现
前端·算法·matlab
月明长歌1 小时前
【码道初阶】【LeetCode 102】二叉树层序遍历:如何利用队列实现“一层一层切蛋糕”?
java·数据结构·算法·leetcode·职场和发展·队列
神仙别闹1 小时前
基于QT(C++)实现的翻金币游戏
c++·qt·游戏
星诺算法备案1 小时前
读懂大模型备案流程,开启技术安全应用新征程
人工智能·算法·推荐算法·备案
Loo国昌2 小时前
大型语言模型推理范式演进:从提示工程到思维算法
人工智能·算法·语言模型·自然语言处理