Leetcode Note: Go - First Unique Character in a String

First Unique Character in a String - LeetCode
https://leetcode.com/problems/first-unique-character-in-a-string/

  • Go 言語で取り組んだメモ

所感

  • s string が渡されるので、その中でもっとも出現が速いユニーク文字の index を return する
    • ユニーク文字が無ければ -1 を return する
  • map 使ってカウントする感じかな

回答

First Unique Character in a String - LeetCode
https://leetcode.com/problems/first-unique-character-in-a-string/solution/

func firstUniqChar(s string) int {
    m := map[string]int{}

    for _, v := range s {
        c := string(v)
        m[c]++
    }

    for i, v := range s {
        c := string(v)
        if m[c] == 1 {
            return i
        }
    }

    return -1
}
  • 1度目のループで文字と出現回数をマッピング
  • 2度目のループで一度だけ出現した文字をピックアップ