Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมตรวจสอบสตริงที่กำหนดเป็น anagram ของ palindromic หรือไม่ใน Python


สมมติว่าเรามีสตริง s เราต้องตรวจสอบว่าการเรียงสับเปลี่ยนของ s เป็นพาลินโดรมหรือไม่

ดังนั้น หากอินพุตเป็น s ="admma" ผลลัพธ์จะเป็น True เนื่องจากเราสามารถจัดเรียง "admma" เป็น "madam" ซึ่งเป็นพาลินโดรมใหม่ได้

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • c :=แผนที่ที่มีอักขระแต่ละตัวนับ s
  • นับ :=0
  • สำหรับแต่ละ i ในรายการค่าทั้งหมดของ c ทำ
    • ถ้าฉันแปลก งั้น
      • ถ้าการนับเท่ากับ 0 แล้ว
        • นับ :=นับ + 1
        • ออกมาจากวงจร
      • คืนค่าเท็จ
  • คืนค่า True

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

ตัวอย่าง

from collections import Counter
class Solution:
   def solve(self, s):
      c = Counter(s)
      count = 0
      for i in c.values():
         if i % 2 != 0:
            if count == 0:
               count += 1
               continue
            return False
      return True
ob = Solution()
s = "admma"
print(ob.solve(s))

อินพุต

"admma"

ผลลัพธ์

True