สมมติว่าเรามีสองสตริง s และ t ที่มีขนาดเท่ากัน เราต้องตรวจสอบว่ามีการเรียงสับเปลี่ยนของ s หรือไม่ พูดว่า s1 และการเปลี่ยนลำดับของ t พูด t1 เช่น s1[i] ≤ t1[i] สำหรับทุกคน 0 ≤ i
ดังนั้น หากอินพุตเป็น s ="vyx" t ="wzx" ผลลัพธ์จะเป็น True เนื่องจากเราสามารถมี s1 ="vxy" และ t1 ="wxz" ได้
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
ตัวอย่าง
class Solution:
def solve(self, s, t):
if not len(s) or not len(t):
return True
s = sorted(s)
t = sorted(t)
def util(s1, t1):
for i in range(len(s1)):
if s1[i] > t1[i]:
return False
return True
if util(s, t):
return True
s, t = t, s
return util(s, t)
ob = Solution()
s = "vyx"
t = "wzx"
print(ob.solve(s, t))
อินพุต
"vyx", "wzx"
ผลลัพธ์
True