কম্পিউটার

পাইথনে সমস্ত জোড় এবং বিজোড় সংখ্যা যথাক্রমে বৃদ্ধি এবং হ্রাসের ক্রমে সাজানোর প্রোগ্রাম


ধরুন আমাদের কাছে nums নামক সংখ্যার একটি তালিকা আছে, আমাদের নিম্নলিখিত মানদণ্ড বজায় রেখে অ্যারে সাজাতে হবে

  • জোড় সংখ্যা ক্রমবর্ধমান ক্রমে সাজানো হয়
  • বিজোড় সংখ্যাগুলিকে নিচের ক্রমে সাজানো হয়
  • জোড় এবং বিজোড় সংখ্যার আপেক্ষিক অবস্থান পরিবর্তন করা উচিত নয়।

সুতরাং, যদি ইনপুটটি [9, 14, 12, 91, -4, 5] এর মত হয়, তাহলে আউটপুট হবে [91, -4, 12, 9, 14, 5]

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • evens :=সংখ্যা অ্যারেতে জোড় পদের তালিকা
  • অডস :=সংখ্যা অ্যারেতে বিজোড় পদের তালিকা
  • তালিকা সমান বাছাই করুন
  • even_i :=0, odd_i :=0
  • পরিসীমা 0 থেকে সংখ্যার আকারের জন্য, করুন
    • যদি nums[index] mod 2 0 এর মত হয়, তাহলে
      • সংখ্যা[সূচী] :=সমতা[even_i]
      • even_i :=even_i + 1
    • অন্যথায়,
      • সংখ্যা[সূচী] :=মতভেদ[বিজোড়_i]
      • odd_i :=odd_i + 1
  • রিটার্ন সংখ্যা

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

উদাহরণ

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. পাইথন প্রোগ্রাম একটি পরিসরে সমস্ত বিজোড় সংখ্যা প্রিন্ট করতে

  2. পাইথন প্রোগ্রাম একটি পরিসরে সমস্ত জোড় সংখ্যা প্রিন্ট করতে

  3. বিজোড় এবং জোড় অঙ্কের যোগফলের মধ্যে পার্থক্যের জন্য পাইথন প্রোগ্রাম

  4. পাইথন প্রোগ্রাম যেকোন কী দ্বারা ক্রমবর্ধমান ক্রমে টিপল বাছাই করে।