Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // MARK: - 49. Group anograms
- // Сгруппировать слова по общим буквам
- // сложность O(m*n)
- // m - кол-во строк
- // n - средняя длина строки
- func groupAnagrams(_ strs: [String]) -> [[String]] {
- // Словарь ключи которого словари с буквами и сколько раз они встречаются, а значение слова
- var dict = [ [String:Int]: [String] ]()
- for word in strs {
- var count = [String:Int]()
- for char in word {
- count[String(char), default: 0] += 1
- }
- dict[count, default: []].append(word)
- }
- return dict.map{$1}
- }
- let words = ["ddddddddddg","dgggggggggg"]
- groupAnagrams(words)
Add Comment
Please, Sign In to add comment