[リートコード] 0049. グループアナグラム

Python、C++、JavaScript、SQL、TypeScript の多様な LeetCode ソリューションを探索してください。面接の準備、学習、複数のプログラミング言語でのコードの練習に最適です。 Github リポジトリ リンク

中くらい


文字列の配列が与えられた場合 文字列、 グループ アナグラム 一緒に答えてください。 任意の注文.

アン アナグラム 異なる単語または句の文字を並べ替えて形成される単語または句であり、通常は元の文字をすべて 1 回だけ使用します。

 

例 1:

入力: strs = ["食べる","お茶","タン","食べた","ナット","バット"]
出力: [["bat"],["nat","tan"],["ate","eat","tea"]]

例 2:

入力: 文字列 = [""]
出力: [[""]]

例 3:

入力: 文字列 = ["a"]
出力: [["a"]]

 

制約:

  • 1 <= 文字列の長さ <= 10 4
  • 0 <= strs[i].length <= 100
  • 文字列[i] 小文字の英語の文字で構成されています。

パイソン

				
					# 時間計算量: O(nklogk) # 空間計算量: O(nk) from collections import defaultdict from entering import List class 解決策: def groupAnagrams(self, strs: List[str]) -> List[List[str]]: ans = defaultdict(list) for s in strs: ans[tuple(sorted(s))].append(s) return ans.values() strs = ["eat", "tea", "tan", "ate", "nat", "bat"] print(Solution().groupAnagrams(strs))
				
			
ja日本語