मान लीजिए कि हमारे पास एक लोअरकेस स्ट्रिंग है जिसमें केवल अक्षर हैं और '?' चरित्र, हमें सभी को परिवर्तित करना है '?' अक्षरों को छोटे अक्षरों में इस तरह से बनाया गया है कि अंतिम स्ट्रिंग में लगातार दोहराए जाने वाले वर्ण नहीं होंगे। अगर एक से अधिक समाधान हैं, तो उनमें से कोई भी वापस करें।
इसलिए, यदि इनपुट एस ="हेल ??" जैसा है, तो आउटपुट हेलैब होगा, पहले प्रश्न चिह्न 'एल' को छोड़कर कुछ भी हो सकता है और जब पहला दिया जाता है, तो दूसरा 'ए' को छोड़कर कुछ भी हो सकता है। ।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
यदि s का आकार 1 के समान है, तो
-
यदि s "?" के समान है, तो
-
वापसी "ए"
-
-
वापसी एस
-
-
s :=s में मौजूद वर्णों की सूची
-
मैं के लिए 0 से s-1 के आकार की सीमा में, करो
-
अगर s[i] "?" के समान है, तो
-
अगर मैं 0 के समान है और s[i+1] "?" के समान है, तो
-
एस [i]:="ए"
-
-
अन्यथा जब मैं 0 के समान हो और s[i+1] "a" के समान हो, तब
-
एस [i]:="बी"
-
-
अन्यथा जब मैं 0 के समान हो, तब
-
एस [i]:="ए"
-
-
अन्यथा जब मैं (s का आकार)-1 के समान हो और s[i-1] "a" के समान हो, तब
-
एस [i]:="बी"
-
-
अन्यथा जब मैं (s के आकार) -1 के समान होता हूं, तब
-
एस [i]:="ए"
-
-
अन्यथा जब s[i-1] "a" के समान है और s[i+1] "?" के समान है, तब
-
एस [i]:="बी"
-
-
अन्यथा जब s[i+1] "?" के समान हो, तब
-
एस [i]:="ए"
-
-
अन्यथा जब (s[i-1] "a" के समान है और s[i+1] "b" के समान है) या (s[i-1] "b" और s[i+1] के समान है "ए" के समान है), फिर
-
एस [i]:="सी"
-
-
अन्यथा जब s[i-1] या s[i+1] "a" है, तब
-
एस [i]:="बी"
-
-
अन्यथा,
-
एस [i]:="ए"
-
-
-
-
वर्णों को स्ट्रिंग में शामिल करने के बाद s लौटाएं
उदाहरण (पायथन)
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
def solve(s): if len(s) == 1 : if s == "?": return "a" return s s = list(s) for i in range(len(s)): if s[i] == "?": if i == 0 and s[i+1] == "?": s[i] = "a" elif i == 0 and s[i+1] == "a": s[i] = "b" elif i == 0: s[i] = "a" elif i == len(s)-1 and s[i-1] == "a": s[i] = "b" elif i == len(s)-1: s[i] = "a" elif s[i-1] == "a" and s[i+1] == "?": s[i] = "b" elif s[i+1] == "?": s[i] = "a" elif (s[i-1] == "a" and s[i+1] == "b") or (s[i-1] == "b" and s[i+1] == "a"): s[i] = "c" elif "a" in (s[i-1],s[i+1]): s[i] = "b" else: s[i] = "a" return "".join(s) s = "hel??" print(solve(s))
इनपुट
"hel??"
आउटपुट
helab