File tree Expand file tree Collapse file tree 1 file changed +40
-0
lines changed
First Unique Character in a String Expand file tree Collapse file tree 1 file changed +40
-0
lines changed Original file line number Diff line number Diff line change 1+ // Runtime: 48 ms, faster than 62.52% of C++ online submissions for First Unique Character in a String.
2+ // Memory Usage: 12.8 MB, less than 90.63% of C++ online submissions for First Unique Character in a String.
3+
4+ class Solution
5+ {
6+ public:
7+ int firstUniqChar (string s)
8+ {
9+ vector<bool > repeat (26 , false );
10+ vector<int > memo (26 , -1 );
11+
12+ for (int i = 0 ; i < s.length (); ++i)
13+ {
14+ if (memo[s[i] - ' a' ] != -1 )
15+ {
16+ repeat[s[i] - ' a' ] = true ;
17+ }
18+
19+ memo[s[i] - ' a' ] = i;
20+ }
21+
22+ int res = -1 ;
23+ for (int i = 0 ; i < 26 ; ++i)
24+ {
25+ if (repeat[i] == false && memo[i] != -1 )
26+ {
27+ if (res < 0 )
28+ {
29+ res = memo[i];
30+ }
31+ else
32+ {
33+ res = min (res, memo[i]);
34+ }
35+ }
36+ }
37+
38+ return res;
39+ }
40+ };
You can’t perform that action at this time.
0 commit comments