สมมุติว่า เรามีชุดของสตริง เราต้องรวมกลุ่มแอนนาแกรมเข้าด้วยกัน ดังนั้นถ้า ["กิน", "ชา", "ตาล", "กิน", "แนท", "ค้างคาว"] แล้วกลุ่มนั้นก็คือ [["ate","eat","tea"],[" แนท","ตาล"],["bat"]]
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- กำหนดความละเอียดเป็นแผนที่
- สำหรับฉันในอาร์เรย์สตริง
- x :=x และเข้าร่วม เรียงลำดับสตริงของ i
- ถ้า x เป็นผลลัพธ์
- แทรก i ในผลลัพธ์[x]
- ผลอื่น[x] :=[i]
- คืนค่า res เป็นรายการ
ตัวอย่าง(Python)
ให้เราดูการใช้งานต่อไปนี้เพื่อทำความเข้าใจ −
class Solution: def groupAnagrams(self, strs): result = {} for i in strs: x = "".join(sorted(i)) if x in result: result[x].append(i) else: result[x] = [i] return list(result.values()) ob1 = Solution() print(ob1.groupAnagrams(["eat", "tea", "tan", "ate", "nat", "bat"]))
อินพุต
["eat", "tea", "tan", "ate", "nat", "bat"]
ผลลัพธ์
[["ate","eat","tea"],["nat","tan"],["bat"]]