मान लीजिए हमारे पास एक स्ट्रिंग s और एक पैटर्न स्ट्रिंग t है, हमें जांचना है कि s में वर्ण t में मौजूद वर्णों द्वारा निर्धारित उसी क्रम का पालन करते हैं या नहीं। यहां पैटर्न में कोई डुप्लिकेट वर्ण नहीं हैं।
उदाहरण के लिए, यदि s = "hello world", t = "hw" है, तो आउटपुट True होगा क्योंकि 'h' 'w' से पहले आता है।
हल करने का तरीका
- यदि s की लंबाई < t की लंबाई, तो False लौटाएं
- t के प्रत्येक आसन्न युग्म (x, y) के लिए:
- right := s में x का अंतिम इंडेक्स
- left := s में y का पहला इंडेक्स
- यदि right == -1 या left == -1 या right > left, तो False लौटाएं
- True लौटाएं
उदाहरण कोड
def solve(s, t):
if len(s) < len(t):
return False
for i in range(len(t) - 1):
x = t[i]
y = t[i + 1]
right = s.rindex(x)
left = s.index(y)
if right == -1 or left == -1 or right > left:
return False
return True
s = "hello world"
t = "hw"
print(solve(s, t))
इनपुट
"hello world", "hw"
आउटपुट
True