c_cpp 387.字符串中的第一个独特字符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 387.字符串中的第一个独特字符相关的知识,希望对你有一定的参考价值。
//Runtime: 64 ms, faster than 44.53%
//Memory Usage: 13.5 MB, less than 49.72%
class Solution {
public:
int firstUniqChar(string s) {
unordered_map<char,int> set;
for(int i = 0;i < s.length();++i)
set[s[i]]++;
for(int i = 0;i < s.length();++i){
if(set[s[i]] == 1)
return i;
}
return -1;
}
};
//Runtime: 72 ms, faster than 31.78%
//Memory Usage: 13.7 MB, less than 26.44%
class Solution {
public:
int firstUniqChar(string s) {
unordered_map<char, pair<int, int>> m;
int idx = s.size();
for (int i = 0; i < s.size(); i++) {
m[s[i]].first++;
m[s[i]].second = i;
}
for (auto &p : m) {
if (p.second.first == 1) idx = min(idx, p.second.second);
}
return idx == s.size() ? -1 : idx;
}
};
以上是关于c_cpp 387.字符串中的第一个独特字符的主要内容,如果未能解决你的问题,请参考以下文章
golang 387字符串中的第一个唯一字符
题目地址(387. 字符串中的第一个唯一字符)
leetcode-387-字符串中的第一个唯一字符
leetcode python 387. 字符串中的第一个唯一字符 383. 赎金信
力扣387.字符串中的第一个唯一字符0705
LeetCode|387. 字符串中的第一个唯一字符