HJ10 字符个数统计【牛客网】
文章目录
- 零、原题链接
- 一、题目描述
- 二、测试用例
- 三、解题思路
- 四、参考代码
零、原题链接
HJ10 字符个数统计
一、题目描述
二、测试用例
三、解题思路
- 基本思路:
建立字符串的散列表,然后统计不同字符个数 - 具体思路:
遍历字符串的字符,如果散列表中存在该字符,则跳过,否则,则存入字符,并且不同字符数+1
。
四、参考代码
时间复杂度: O ( n ) \Omicron(n) O(n)【字符散列的复杂度】
空间复杂度: O ( 1 ) \Omicron(1) O(1)【散列表的空间为常数级】
#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")