ধরুন আমাদের একটি ছোট হাতের স্ট্রিং s আছে যাতে শুধুমাত্র অক্ষর এবং '?' চরিত্র, আমরা সব রূপান্তর করতে হবে '?' ছোট হাতের অক্ষরগুলিতে অক্ষরগুলি যেমন চূড়ান্ত স্ট্রিংটিতে কোনও ধারাবাহিক পুনরাবৃত্তি অক্ষর থাকবে না। যদি একাধিক সমাধান থাকে, তাদের যেকোনো একটি ফেরত দিন।
সুতরাং, যদি ইনপুটটি s ="hel??" এর মত হয়, তাহলে আউটপুটটি হেলাব হবে, প্রথম প্রশ্ন চিহ্নটি 'l' ছাড়া অন্য কিছু হতে পারে এবং যখন প্রথমটি দেওয়া হয়, তখন দ্বিতীয়টি 'a' ছাড়া অন্য কিছু হতে পারে। .
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
যদি s এর আকার 1 এর সমান হয়, তাহলে
-
যদি s একই হয় "?", তাহলে
-
"a"
ফেরত দিন
-
-
s
ফেরত দিন
-
-
s :=s এ উপস্থিত অক্ষরের তালিকা
-
i এর জন্য 0 থেকে s - 1 এর আকারের মধ্যে, করুন
-
যদি s[i] "?" এর মত হয়, তাহলে
-
যদি i 0 এর মত হয় এবং s[i+1] হয় "?", তাহলে
-
s[i] :="a"
-
-
অন্যথায় যখন i 0 এর সমান এবং s[i+1] "a" এর মতো, তখন
-
s[i] :="b"
-
-
অন্যথায় যখন আমি 0 এর সমান, তখন
-
s[i] :="a"
-
-
অন্যথায় যখন i (s-এর মাপ)-1 এবং s[i-1] "a" এর সমান, তখন
-
s[i] :="b"
-
-
অন্যথায় যখন i (s-এর মাপ)-1 এর মত হয়, তখন
-
s[i] :="a"
-
-
অন্যথায় যখন s[i-1] "a" এর মতো এবং s[i+1] একই হয় "?", তখন
-
s[i] :="b"
-
-
অন্যথায় যখন s[i+1] একই হয় "?", তখন
-
s[i] :="a"
-
-
অন্যথায় যখন (s[i-1] "a" এর মতো এবং s[i+1] "b" এর মতো) বা (s[i-1] "b" এবং s[i+1] এর মতো "a" এর মতো), তারপর
-
s[i] :="c"
-
-
অন্যথায় যখন s[i-1] বা s[i+1] হয় "a", তখন
-
s[i] :="b"
-
-
অন্যথায়,
-
s[i] :="a"
-
-
-
-
স্ট্রিং এ অক্ষর যোগ করার পরে 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