mirror of
https://github.com/prdlk/leetcode.git
synced 2026-09-17 07:26:27 +00:00
feat(problems): add implementation for first unique character in a string
This commit is contained in:
@@ -2,46 +2,56 @@
|
|||||||
* 387. First Unique Character in a String
|
* 387. First Unique Character in a String
|
||||||
* Difficulty: Easy
|
* Difficulty: Easy
|
||||||
* https://leetcode.com/problems/first-unique-character-in-a-string/
|
* https://leetcode.com/problems/first-unique-character-in-a-string/
|
||||||
*
|
*
|
||||||
* ──────────────────────────────────────────────────
|
* ──────────────────────────────────────────────────
|
||||||
*
|
*
|
||||||
* Given a string s, find the first non-repeating character in it and
|
* Given a string s, find the first non-repeating character in it and
|
||||||
* return its index. If it does not exist, return -1.
|
* return its index. If it does not exist, return -1.
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* Example 1:
|
* Example 1:
|
||||||
*
|
*
|
||||||
* Input: s = "leetcode"
|
* Input: s = "leetcode"
|
||||||
*
|
*
|
||||||
* Output: 0
|
* Output: 0
|
||||||
*
|
*
|
||||||
* Explanation:
|
* Explanation:
|
||||||
*
|
*
|
||||||
* The character 'l' at index 0 is the first character that does not
|
* The character 'l' at index 0 is the first character that does not
|
||||||
* occur at any other index.
|
* occur at any other index.
|
||||||
*
|
*
|
||||||
* Example 2:
|
* Example 2:
|
||||||
*
|
*
|
||||||
* Input: s = "loveleetcode"
|
* Input: s = "loveleetcode"
|
||||||
*
|
*
|
||||||
* Output: 2
|
* Output: 2
|
||||||
*
|
*
|
||||||
* Example 3:
|
* Example 3:
|
||||||
*
|
*
|
||||||
* Input: s = "aabb"
|
* Input: s = "aabb"
|
||||||
*
|
*
|
||||||
* Output: -1
|
* Output: -1
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* Constraints:
|
* Constraints:
|
||||||
*
|
*
|
||||||
* • 1 <= s.length <= 10^5
|
* • 1 <= s.length <= 10^5
|
||||||
*
|
*
|
||||||
* • s consists of only lowercase English letters.
|
* • s consists of only lowercase English letters.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
func firstUniqChar(s string) int {
|
func firstUniqChar(s string) int {
|
||||||
|
freq := map[rune]int{}
|
||||||
|
for _, c := range s {
|
||||||
|
freq[c]++
|
||||||
|
}
|
||||||
|
|
||||||
|
for i, c := range s {
|
||||||
|
if freq[c] == 1 {
|
||||||
|
return i
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return -1
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user