মান লক্ষ্য করুন আমাদের কাছে একটি স্ট্রিং s আছে যেটি প্যালিনড্রোম। আমাদের কাজ হল স্ট্রিংয়ের একটি ক্যারেক্টার পরিবর্তন করে সেটিকে প্যালিনড্রোম নয় এমন একটি স্ট্রিং বানানো যেটি লেক্সিকোগ্রাফিক্যালি সবচেয়ে ছোট।
উদাহরণস্বরূপ, যদি ইনপুট হয় s = "level", তবে আউটপুট হবে "aevel", কারণ প্রথম "l" কে "a" দিয়ে রিপ্লেস করলে লেক্সিকোগ্রাফিক্যালি সবচেয়ে ছোট নন-প্যালিনড্রোমিক স্ট্রিং পাওয়া যায়।
iকে ০ থেকেlen(s)//2পর্যন্ত লুপ চালান:- যদি
s[i] != "a"হয়, তবে:s := list(s)s[i] := "a""".join(s)রিটার্ন করুন।
- যদি
s := list(s)s[-1] := "b""".join(s)রিটার্ন করুন।
class Solution:
def solve(self, s):
for i in range(len(s) // 2):
if s[i] != "a":
s = list(s)
s[i] = "a"
return "".join(s)
s = list(s)
s[-1] = "b"
return "".join(s)
ob = Solution()
s = "level"
print(ob.solve(s))
"level"
aevel