2 条题解
-
1
如果会 c++ STL容器 的map的话会很好做
关于map
map 是 C++ STL 中的关联容器,它存储的是键值对(key-value pairs),并且会根据键(key)自动排序。在本题中,我们使用 map<char, int> 来统计每个字符出现的次数。
基本特点:
自动排序:map 会根据键的值自动进行升序排序
唯一键:每个键在 map 中只能出现一次
快速查找:基于红黑树实现,查找效率为 O(log n)
在本题中的应用:
charCount[c]++:统计字符 c 出现的次数
如果 c 不存在,会自动创建并初始化为 0
然后执行 ++ 操作
charCount[c] == 1:检查字符 c 是否只出现一次
关于时间复杂度
map 查找是 O(log n)
AC code
#include <bits/stdc++.h> using namespace std; int main() { string s; cin >> s; map<char, int> charCount; for (char c : s) { charCount[c]++; } for (char c : s) { if (charCount[c] == 1) { cout << c << endl; return 0; } } cout << "no" << endl; return 0; }
信息
- ID
- 4560
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 1
- 标签
- (无)
- 递交数
- 71
- 已通过
- 37
- 上传者