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

पायथन में सभी सम और विषम संख्याओं को क्रमशः बढ़ते और घटते क्रम में क्रमबद्ध करने का प्रोग्राम


मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है, हमें निम्न मानदंडों को बनाए रखते हुए सरणी को क्रमबद्ध करना है:

  • सम संख्याएं आरोही क्रम में क्रमबद्ध हों
  • विषम संख्याएं अवरोही क्रम में क्रमबद्ध हों
  • सम और विषम संख्याओं की सापेक्ष स्थिति नहीं बदलनी चाहिए।

उदाहरण के लिए, यदि इनपुट [9, 14, 12, 91, -4, 5] है, तो आउटपुट [91, -4, 12, 9, 14, 5] होगा।

इसे हल करने के लिए हम निम्न चरणों का पालन करेंगे:

  • evens := nums सरणी में सम पदों की सूची
  • odds := nums सरणी में विषम पदों की सूची
  • evens सूची को क्रमबद्ध करें
  • odds सूची को अवरोही क्रम में क्रमबद्ध करें
  • even_i := 0, odd_i := 0
  • index को 0 से nums के आकार तक के लिए करें:
    • यदि nums[index] % 2 == 0, तो nums[index] := evens[even_i], even_i := even_i + 1
    • अन्यथा, nums[index] := odds[odd_i], odd_i := odd_i + 1
  • nums वापस करें

उदाहरण

class Solution:
    def solve(self, nums):
        evens = [num for num in nums if num % 2 == 0]
        odds = [num for num in nums if num % 2 != 0]
        evens.sort()
        odds.sort(reverse=True)
        even_i = 0
        odd_i = 0
        for index in range(len(nums)):
            if nums[index] % 2 == 0:
                nums[index] = evens[even_i]
                even_i += 1
            else:
                nums[index] = odds[odd_i]
                odd_i += 1
        return nums
ob = Solution()
print(ob.solve([9, 14, 12, 91, -4, 5]))

इनपुट

[9, 14, 12, 91, -4, 5]

आउटपुट

[91, -4, 12, 9, 14, 5]
  1. - पायथन प्रोग्राम: रेंज में सभी इवन नंबर्स प्रिंट करें

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट एक रेंज दिए जाने पर, हमें दी गई रेंज में सभी इवन नंबर्स प्रिंट करने की आवश्यकता है। नीचे ब्रूट-फोर्स दृष्टिकोण पर चर्चा की गई है: यहां हम एक रेंज-बेस्ड फॉर लूप लागू करते हैं जो इनपुट

  1. पायथन प्रोग्राम: ऑड और इवन डिजिट्स के योग का अंतर पायथन प्रोग्राम: ऑड और इवन डिजिट्स के योग का अंतर

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट – एक इंटीजर दिए जाने पर, हमें यह गणना करने की आवश्यकता है कि ऑड डिजिट्स के योग और इवन डिजिट्स के योग का अंतर 0 है या नहीं। ब्रूट-फोर्स दृष्टिकोण नंबर्स में सभी इवन और ऑड डिजिट्स का योग

  1. - किसी भी कुंजी द्वारा टुपल्स को आरोही क्रम में सॉर्ट करने का पायथन प्रोग्राम

    समस्या विवरण एक टुपल दिया गया है, हमारा कार्य टुपल्स की सूची को टुपल में किसी भी कुंजी द्वारा आरोही क्रम में सॉर्ट करना है। हमें उन्हें किसी दी गई कुंजी के अनुसार सॉर्ट करना है। इसके लिए हम sorted() फंक्शन का उपयोग करते हैं जहां हम key=last का उपयोग करके सॉर्ट करते हैं और last को कुंजी इंडेक्स के रू