给定字符串S,找出其中第一个出现一次的字符,要求时间复杂度O(N)。
区块链毕设网qklbishe.com为您提供问题的解答
给定字符串S,找出其中第一个出现一次的字符,要求时间复杂度O(N)。
```cpp #include <bits/stdc++.h> using namespace std; int main() { // 坐标 元素 map<int, char> res; // 元素, 坐标 unordered_map<char,int> map_; string str; cin >> str; for (int i = 0 ;i < str.size(); i ++) { if(map_.find(str[i]) == map_.end()) { map_[str[i]] = i; res[i] = str[i]; } else { int rem = map_[str[i]]; map_[str[i]] = i; res.erase(rem); } } if (res.empty()) cout << -1; else cout << res.begin() -> second; return 0; } ```
14:37
以上就是关于问题给定字符串S,找出其中第一个出现一次的字符,要求时间复杂度O(N)。的答案
欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。
区块链NFT链游项目方科学家脚本开发培训