मान लीजिए कि हमारे पास समान लंबाई के दो स्ट्रिंग्स S1 और S2 हैं, हमें एक इंडेक्स i ढूंढना है जो S1[0…i] और S2[i+1…n-1] दे एक पैलिंड्रोम जब वे एक साथ सम्मिलित होते हैं। जब यह संभव न हो, तो -1 लौटें।
इसलिए, यदि इनपुट S1 ="pqrsu", S2 ="wxyqp" जैसा है, तो आउटपुट S1 [0..1] ="pq", S2 [2..n-1] ="ypq" के रूप में 1 होगा। ", तो S1 + S2 ="pqyqp" इंगित करता है कि यह एक पैलिंड्रोम है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
n :=str1 का आकार
-
str :=रिक्त स्ट्रिंग
-
मेरे लिए 0 से n की सीमा में, करें
-
str :=str concatenate str1[i]
-
अस्थायी:=रिक्त स्ट्रिंग
-
i + 1 से n की श्रेणी में j के लिए, करें
-
अस्थायी:=अस्थायी रूप से str2 [j]
-
-
यदि isPalindrome(str concatenate temp) सत्य है, तो
-
वापसी मैं
-
-
-
वापसी -1
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
def isPalindrome(s): if s == s[::-1]: return True return False def find_index(str1, str2): n = len(str1) str = "" for i in range(n): str = str + str1[i] temp = "" for j in range(i + 1, n): temp += str2[j] if (isPalindrome(str + temp)): return i return -1 str1 = "pqrsu" str2 = "wxyqp" print(find_index(str1, str2))
इनपुट
"pqrsu", "wxyqp"
आउटपुट
1