Alexxik

Untitled

Sep 16th, 2023 (edited)
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 0.79 KB | None | 0 0
  1. // MARK: - 49. Group anograms
  2. // Сгруппировать слова по общим буквам
  3.  
  4. // сложность O(m*n)
  5. // m - кол-во строк
  6. // n - средняя длина строки
  7.  
  8. func groupAnagrams(_ strs: [String]) -> [[String]] {
  9.     // Словарь ключи которого словари с буквами и сколько раз они встречаются, а значение слова
  10.     var dict = [ [String:Int]: [String] ]()
  11.    
  12.     for word in strs {
  13.        
  14.         var count = [String:Int]()
  15.        
  16.         for char in word {
  17.             count[String(char), default: 0] += 1
  18.         }
  19.         dict[count, default: []].append(word)
  20.     }
  21.     return dict.map{$1}
  22. }
  23.  
  24. let words = ["ddddddddddg","dgggggggggg"]
  25. groupAnagrams(words)
Add Comment
Please, Sign In to add comment