Giả sử chúng ta có hai chuỗi s và t có cùng kích thước, chúng ta phải kiểm tra xem có hoán vị nào của s, ví dụ s1, và hoán vị của t, giả sử t1, sao cho:s1 [i] ≤ t1 [i] với tất cả 0 ≤ i
Vì vậy, nếu đầu vào là s ="vyx" t ="wzx", thì đầu ra sẽ là True, vì chúng ta có thể có s1 ="vxy" và t1 ="wxz".
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
Ví dụ
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))
Đầu vào
"vyx", "wzx"
Đầu ra
True