Skip to content

49.group-anagrams

Group Anagrams - LeetCode

解法

  • 各文字列をハッシュ化して、同じ文字列になるものをグループ化する

初期コード

Ruby

# @param {String[]} strs
# @return {String[][]}
def group_anagrams(strs)
end
def group_anagrams(strs)
anagrams = Hash.new { |hash, key| hash[key] = [] }
strs.each do |str|
char_count = Hash.new(0)
str.each_char { |char| char_count[char] += 1 }
anagrams[char_count].push(str)
end
anagrams.values
end
  • Hash.new { |hash, key| ######}で初期値を設定できる
def group_anagrams(strs)
strs.sort.group_by { |str| str.chars.sort }.values
end