मान लीजिए कि हमारे पास एक लोअरकेस स्ट्रिंग 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