मान लीजिए कि हमारे पास L1 और L2 संख्याओं की दो सूचियाँ हैं, प्रत्येक सूची की लंबाई n है और प्रत्येक मान इसकी सूची के लिए अद्वितीय है, और मान 1 से n की सीमा में हैं, हमें L1 को बदलने के लिए आवश्यक आसन्न स्वैप की न्यूनतम संख्या ज्ञात करनी होगी। L2 के लिए।
इसलिए, यदि इनपुट L1 =[0, 1, 2, 3] L2 =[2, 0, 1, 3] जैसा है, तो आउटपुट 2 होगा, क्योंकि हम 1 और 2 को स्वैप कर सकते हैं, L1 होगा [0 , 2, 1, 3], और फिर 0 और 2, L1 [2, 0, 1, 3] होगा, यह L2 के समान है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे:
-
उत्तर :=0
-
L2 में प्रत्येक अनुरोध के लिए, करें
-
i :=L1 में req की अनुक्रमणिका
-
L1 से ith तत्व हटाएं
-
उत्तर:=उत्तर + मैं
-
-
वापसी उत्तर
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें:
उदाहरण
class Solution: def solve(self, L1, L2): ans = 0 for req in L2: i = L1.index(req) L1.pop(i) ans += i return ans ob = Solution() L1 = [0, 1, 2, 3] L2 = [2, 0, 1, 3] print(ob.solve(L1, L2))
इनपुट
[0, 1, 2, 3],[2, 0, 1, 3]
आउटपुट
2