Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में क्रमागत सम तत्वों को स्वैप करना

समस्या विवरण

संख्याओं की एक सूची nums दी गई है, हमें प्रत्येक क्रमागत सम पूर्णांक को आपस में एक्सचेंज करना है।

उदाहरण

इनपुट: [4, 5, 6, 8, 10]

आउटपुट: [6, 5, 4, 10, 8]

व्याख्या: 4 और 6 स्वैप हुए, फिर 8 और 10 स्वैप हुए। 5 विषम है इसलिए अपरिवर्तित रहा।

एल्गोरिदम

  1. temp = None इनिशियलाइज़ करें
  2. सूची के प्रत्येक इंडेक्स i के लिए:
    • यदि nums[i] सम है:
      • यदि temp None नहीं है (यानी पिछला सम तत्व मिला था):
        • nums[i] और nums[temp] को स्वैप करें
        • temp = None रीसेट करें
      • अन्यथा temp = i सेट करें (इस सम तत्व के इंडेक्स को स्टोर करें)
  3. संशोधित सूची वापस करें

पायथन कार्यान्वयन

class Solution:
    def solve(self, nums):
        temp = None
        for i in range(len(nums)):
            if nums[i] % 2 == 0:
                if temp is not None:
                    nums[i], nums[temp] = nums[temp], nums[i]
                    temp = None
                else:
                    temp = i
        return nums

ob = Solution()
print(ob.solve([4, 5, 6, 8, 10]))

इनपुट

[4, 5, 6, 8, 10]

आउटपुट

[6, 5, 4, 10, 8]
  1. - पायथन में टॉप K फ्रीक्वेंट एलिमेंट्स

    मान लीजिए हमारे पास पूर्णांक संख्याओं का एक नॉन-ऐम्प्टी ऐरे है। हमें kवें सबसे अधिक फ्रीक्वेंट एलिमेंट्स लौटाने हैं। इसलिए यदि एलिमेंट्स [1,1,1,1,2,2,3,3,3] हैं और k = 2, तो परिणाम [1, 3] होगा। औपचारिक रूप से फ़ंक्शन को निम्न करना चाहिए - num_freq = एक खाली मैप, freq_list := एक खाली मैप nums में प्

  1. - पायथन में सबसेट्स (पावर सेट)

    मान लीजिए हमारे पास संख्याओं का एक सेट है; हमें उस सेट के सभी संभावित सबसेट उत्पन्न करने हैं। इसे पावर सेट के रूप में भी जाना जाता है। इसलिए यदि सेट [1,2,3] जैसा है, तो पावर सेट [[], [1], [2], [3], [1,2], [1,3], [2,3], [1,2,3]] होगा। आइए चरण देखते हैं - हम इसे रिकर्सिव दृष्टिकोण का उपयोग करके हल कर

  1. - पायथन में निष्पक्ष कैंडी स्वैप

    मान लीजिए A और B दो दोस्त हैं। उनके पास अलग-अलग आकार की कैंडी बार हैं। यहां A[i] A के स्वामित्व वाली i-वीं कैंडी बार का आकार है, और B[j] B के स्वामित्व वाली j-वीं कैंडी बार का आकार है। चूंकि वे दोस्त हैं, वे एक-एक कैंडी बार का आदान-प्रदान करना चाहते हैं ताकि आदान-प्रदान के बाद, A और B दोनों के पास