29 / 205
LeetCode · EasyOson10 ball· ~15 daqiqa

Find Resultant Array After Removing Anagrams

Sizga satrlar massivi words berilgan, har bir element kichik ingliz harflaridan iborat.

Quyidagi amalni bajarish mumkin bo'lgunicha takrorlang:

  1. Agar 0 < i < words.length bo'lib, words[i-1] va words[i] o'zaro anagramma bo'lsa, words[i] ni o'chirib tashlang.
  2. So'ng massivni qayta ko'rib chiqing.

Barcha operatsiyalar tugagandan so'ng qolgan massivni qaytaring.

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

Misollar

kod
Input: words = ["abba","baba","bbaa","cd","cd"]
Output: ["abba","cd"]
Tushuntirish:
- "baba" va "abba" anagramma. "baba" o'chiriladi. ["abba","bbaa","cd","cd"]
- "bbaa" va "abba" anagramma. "bbaa" o'chiriladi. ["abba","cd","cd"]
- "cd" va "cd" anagramma. Ikkinchi "cd" o'chiriladi. ["abba","cd"]
kod
Input: words = ["a","b","c","d","e"]
Output: ["a", "b", "c", "d", "e"]
kod
Input: words = ["a", "b", "a"]
Output: ["a", "b", "a"]
kod
Input: words = ["abc", "cba", "bca", "x"]
Output: ["abc", "x"]

Maslahatlar

  1. Ikki so'z anagramma ekanligini tekshirish uchun ularning harflarini saralab solishtirishni o'ylang.
  2. Har bir so'zni saralangan holatga keltirib, oldin qoldirilgan so'zning saralangan holati bilan solishtiring; ular teng bo'lsa so'zni o'tkazib yuboring, aks holda natijaga qo'shib saralangan holatni yangilang.