From fa8deac963be5b9c02fc1f274e154fc0ea2ace94 Mon Sep 17 00:00:00 2001 From: Prad Nukala Date: Mon, 31 Aug 2026 16:21:47 -0400 Subject: [PATCH] feat(work): add solution for LeetCode 387 First Unique Character in a String --- .../387.first-unique-character-in-a-string.py | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 work/3/Easy/Hash Table/387.first-unique-character-in-a-string.py 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