मान लीजिए हमारे पास दो संख्याओं की सूचियां A और B हैं। हमें A में कुछ सबलिस्ट लेनी है और उसे उल्टा करना है। फिर जांचना है कि क्या A को B में बदलना संभव है या नहीं। हम सबलिस्ट को उल्टा करने की क्रिया कितनी भी बार कर सकते हैं।
उदाहरण के लिए, यदि इनपुट A = [2, 3, 4, 9, 10], B = [4, 3, 2, 10, 9] है, तो आउटपुट True होगा क्योंकि हम [2,3,4] और [9,10] को उल्टा कर सकते हैं।
इसे हल करने के लिए हम निम्न चरणों का पालन करेंगे (आवृत्ति गिनती):
res := {}खाली मैप।प्रत्येक
nके लिएnumsमें:res[n] += 1।प्रत्येक
tके लिएtargetमें:res[t] -= 1।यदि
resके सभी मान 0 हैं तोTrueलौटाएं।
उदाहरण
from collections import defaultdict class Solution: def solve(self, nums, target): res = defaultdict(int) for n in nums: res[n] += 1 for t in target: res[t] -= 1 return all(n == 0 for n in res.values()) ob = Solution() A = [2, 3, 4, 9, 10] B = [4, 3, 2, 10, 9] print(ob.solve(A, B))
इनपुट
[2, 3, 4, 9, 10], [4, 3, 2, 10, 9]
आउटपुट
True