मान लीजिए कि हमारे पास एक लोअरकेस स्ट्रिंग s है, हमें यह जांचना होगा कि क्या s में कुछ बाद के वर्णों को चुनना संभव है, जैसे कि - 1. वर्णों के किन्हीं दो क्रमिक अनुक्रमितों का अंतर समान है 2. वर्ण स्ट्रिंग "प्रोग्रामिंग प्रश्न" बनाते हैं।
इसलिए, यदि इनपुट "pzrzozgzrzazmzmziznzgzqzuzezsztzizozn" जैसा है, तो आउटपुट सही होगा
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- p :=सूचकांकों की एक सरणी जहां p मौजूद है
- r :=सूचकांकों की एक सरणी जहां r मौजूद है
- p में प्रत्येक j के लिए, करें
- r में प्रत्येक k के लिए, करें
- अगर के> जे, तो
- अगर "प्रोग्रामिंग प्रश्न" के स्थान पर s को इंडेक्स j से s के आकार में, k-j कैरेक्टर को छोड़ कर, तो
- सही लौटें
- अगर "प्रोग्रामिंग प्रश्न" के स्थान पर s को इंडेक्स j से s के आकार में, k-j कैरेक्टर को छोड़ कर, तो
- अगर के> जे, तो
- r में प्रत्येक k के लिए, करें
- झूठी वापसी
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
class Solution: def solve(self, s): p = [i for i, c in enumerate(s) if c == "p"] r = [i for i, c in enumerate(s) if c == "r"] for j in p: for k in r: if k > j: if "programmingquestion" in s[j:len(s):k-j]: return True return False ob = Solution() s = "pzrzozgzrzazmzmziznzgzqzuzezsztzizozn" print(ob.solve(s))
इनपुट
"pzrzozgzrzazmzmziznzgzqzuzezsztzizozn"
आउटपुट
True