#include <iostream> #include <sstream> #include <string> #include <unordered_map> #include <unordered_set> using namespace std; int main() { string s; getline(cin, s); unordered_set<char> char_set; for(char c : s){ char_set.insert(c); } cout << char_set.size() << endl; } // 64 位输出请用 printf("%lld")
- 理解题目:不同字符的个数,也就是不重复的字符的个数,也就是将其放到集合里统计集合的元素个数。所以最后输出哈希集合的大小,也就是题目要求的不重复的字符个数。
- 试错思路:本题不需要用输入字符串流解决。
- 哈希集合去重:哈希集合去重的过程是,遍历字符串中的每个字符,将其插入哈希集合中,哈希集合自动去重。
- 哈希集合用法:哈希集合只需要声明其中元素的类型。哈希集合用的是insert()不是append()。