मान लीजिए हमारे पास एक स्ट्रिंग डिक्शनरी है, यह डिक्शनरी प्राचीन अंतरिक्ष यात्रियों की डिक्शनरी के एक आंशिक लेक्सिकोग्राफिक ऑर्डरिंग को दर्शाती है। तो, यदि हमारे पास एक स्ट्रिंग s है, हमें जांचना है कि क्या यह इस प्राचीन अंतरिक्ष यात्री डिक्शनरी के अनुसार लेक्सिकोग्राफिकली सॉर्टेड स्ट्रिंग है या नहीं।
यदि इनपुट dictionary = "bdc", s = "bbbb h ddd i cccc" जैसा है, तो आउटपुट True होगा।
इसे हल करने के लिए हम निम्नलिखित चरणों का पालन करेंगे:
- l := astro_dict का आकार
- यदि l, 0 के समान है, तो True लौटाएं
- i := 0
- s में प्रत्येक वर्ण c के लिए, करें:
- यदि c, astro_dict में है, तो
- जब तक i < l और astro_dict[i], c नहीं है, करें:
- i := i + 1
- यदि i >= l या astro_dict[i], c नहीं है, तो False लौटाएं
- जब तक i < l और astro_dict[i], c नहीं है, करें:
- यदि c, astro_dict में है, तो
- True लौटाएं
बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:
উদাহরণ
class Solution:
def solve(self, astro_dict, s):
l = len(astro_dict)
if l == 0:
return True
i = 0
for c in s:
if c in astro_dict:
while i < l and astro_dict[i] != c:
i += 1
if i >= l or astro_dict[i] != c:
return False
return True
ob = Solution()
print(ob.solve("bdc","bbbb h ddd i cccc"))
इनपुट
"bdc","bbbb h ddd i cccc"
आउटपुट
True