สมมุติว่า เรามีชุดของสตริง เราต้องรวมกลุ่มแอนนาแกรมเข้าด้วยกัน ดังนั้นถ้า ["กิน", "ชา", "ตาล", "กิน", "แนท", "ค้างคาว"] แล้วกลุ่มนั้นก็คือ [["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"]]