কম্পিউটার টিউটোরিয়াল

পাইথনে তালিকাকে দুই ভাগে ভাগ করে মেডিয়ানের পার্থক্য ন্যূনতম করার প্রোগ্রাম


মনে করুন nums একটি সংখ্যার তালিকা। এটিকে সমান আকারের দুটি ভাগে ভাগ করতে হবে যাতে দুটি ভাগের মেডিয়ানের মধ্যে বিচ্যুতির মান ন্যূনতম হয়। দ্রষ্টব্য: nums-এর দৈর্ঘ্য/২ বিজোড় হবে।

উদাহরণস্বরূপ, [2, 10, 8, 5, 4, 7] হলে আউটপুট ২, কারণ [2,5,10] এবং [4,7,8]-র মেডিয়ান ৫ এবং ৭, পার্থক্য ২।

সমাধানের ধাপসমূহ

  • nums সর্ট করুন
  • m := len(nums)//2
  • |nums[m] - nums[m-1]| ফেরত দিন

উদাহরণ

class Solution:
    def solve(self, nums):
        nums.sort()
        m = len(nums)//2
        return abs(nums[m] - nums[m-1])

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

ইনপুট

[2, 10, 8, 5, 4, 7]

আউটপুট

2
  1. পাইথন প্রোগ্রাম লিস্টে সবচেয়ে ছোট সংখ্যা বের করা

  2. পাইথনে লিস্টের সব পেয়ারের অ্যাবসোলিউট ডিফারেন্সের যোগফল

  3. পাইথনে দুটি লিস্টের পার্থক্য (Difference) বের করার প্রোগ্রাম

  4. পাইথনে লিস্টের সব সংখ্যা গুণফল বের করার প্রোগ্রাম