49.group-anagrams
解法
- 各文字列をハッシュ化して、同じ文字列になるものをグループ化する
初期コード
Ruby
# @param {String[]} strs# @return {String[][]}def group_anagrams(strs)enddef 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.valuesendHash.new { |hash, key| ######}で初期値を設定できる
def group_anagrams(strs) strs.sort.group_by { |str| str.chars.sort }.valuesend