diff --git a/work/3/Easy/Hash Table/387.first-unique-character-in-a-string.py b/work/3/Easy/Hash Table/387.first-unique-character-in-a-string.py new file mode 100644 index 0000000..3d70a67 --- /dev/null +++ b/work/3/Easy/Hash Table/387.first-unique-character-in-a-string.py @@ -0,0 +1,54 @@ +""" +387. First Unique Character in a String +Difficulty: Easy +https://leetcode.com/problems/first-unique-character-in-a-string/ + +────────────────────────────────────────────────── + +Given a string s, find the first non-repeating character in it and +return its index. If it does not exist, return -1. + + + +Example 1: + +Input: s = "leetcode" + +Output: 0 + +Explanation: + +The character 'l' at index 0 is the first character that does not +occur at any other index. + +Example 2: + +Input: s = "loveleetcode" + +Output: 2 + +Example 3: + +Input: s = "aabb" + +Output: -1 + + + +Constraints: + + • 1 <= s.length <= 10^5 + + • s consists of only lowercase English letters. +""" + +from collections import Counter + + +class Solution: + def firstUniqChar(self, s: str) -> int: + map = Counter(s) + for i, c in enumerate(s): + if map[c] == 1: + return i + return -1