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

Buddy Strings ใน Python


สมมติว่าเรามีสองสตริง A และ B ของตัวพิมพ์เล็ก เราต้องตรวจดูว่าเราจะสลับตัวอักษรสองตัวใน A ได้หรือไม่ เพื่อให้ได้ผลลัพธ์เท่ากับ B หรือไม่

ดังนั้น หากอินพุตเป็น A ="ba", B ="ab" ผลลัพธ์จะเป็น True

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

  • ถ้าขนาด A ไม่เหมือนกับขนาด B แล้ว
    • คืนค่าเท็จ
  • มิฉะนั้น เมื่อ A และ B มีองค์ประกอบที่ไม่เหมือนกัน
    • คืนค่าเท็จ
  • มิฉะนั้น เมื่อ A เหมือนกับ B และอักขระทั้งหมดต่างกันใน A แล้ว
    • คืนค่าเท็จ
  • มิฉะนั้น
    • นับ:=0
  • สำหรับฉันในช่วง 0 ถึงขนาด A ทำ
    • ถ้า A[i] ไม่เหมือนกับ B[i] แล้ว
      • นับ :=นับ + 1
      • ถ้านับเท่ากับ 3 แล้ว
        • คืนค่าเท็จ
  • คืนค่า True

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

ตัวอย่าง

class Solution:
   def buddyStrings(self, A, B):
      if len(A)!=len(B):
         return False
      elif sorted(A)!=sorted(B):
         return False
      elif A==B and len(set(A))==len(A):
         return False
      else:
         count=0
         for i in range(len(A)):
            if A[i]!=B[i]:
               count+=1
               if count==3:
                  return False
         return True
ob = Solution()
print(ob.buddyStrings("ba","ab"))

อินพุต

"ba","ab"

ผลลัพธ์

True