115 / 205
LeetCode · MediumO'rta20 ball· ~25 daqiqa

Group Anagrams

Sizga strs deb nomlangan satrlar massivi berilgan. Bu massivdagi anagrammalarni birga guruhlang. Natijani istalgan tartibda qaytarishingiz mumkin.

Anagramma bu odatda boshqa so'zning yoki iboraning harflarini qayta tartiblash orqali hosil bo'ladigan so'z yoki ibora (masalan, "eat", "tea", "ate").

example.go
func solve(strs []string) [][]string {
    // ...
}

Misollar

kod
Input: strs = ["eat","tea","tan","ate","nat","bat"]
Output: [["bat"],["nat","tan"],["ate","eat","tea"]]
kod
Input: strs = [""]
Output: [[""]]
kod
Input: strs = ["a"]
Output: [["a"]]

Maslahatlar

  1. Bir xil harflardan tuzilgan so'zlarni bir xil "kalit" (key) ostida guruhlash mumkinligini o'ylab ko'ring — anagrammalarni bir-biriga bog'laydigan umumiy xususiyat nima ekanligini aniqlang.
  2. Har bir so'zning harflarini saralab (sort) kanonik kalit hosil qiling va shu kalit bo'yicha xesh-jadval (map) da so'zlarni to'plang; oxirida map dagi har bir guruhni natija sifatida qaytaring.