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

পাইথনে k আকারের তালিকায় সর্বোচ্চ ও সর্বনিম্নের পার্থক্য ন্যূনতম করার প্রোগ্রাম


ধরা যাক nums নামক একটি সংখ্যার তালিকা এবং একটি পূর্ণসংখ্যা k আছে। nums থেকে k আকারের একটি তালিকা বানাতে হবে যাতে সাবলিস্টের সর্বোচ্চ ও সর্বনিম্ন মানের পার্থক্য ন্যূনতম হয়। সেই পার্থক্য ফেরত দিন।

উদাহরণ: nums = [3, 11, 6, 2, 9], k = 3 হলে আউটপুট 4, কারণ সেরা তালিকা [2, 3, 6]।

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

  • nums সর্ট করুন।
  • ls := নতুন তালিকা
  • i = 0 থেকে len(nums) - k + 1 পর্যন্ত: ls-এ nums[i + k - 1] - nums[i] অ্যাপেন্ড করুন।
  • min(ls) ফেরত দিন।

উদাহরণ কোড

class Solution:
    def solve(self, nums, k):
        nums.sort()
        ls = []
        for i in range(len(nums) - k + 1):
            ls.append(nums[i + k - 1] - nums[i])
        return min(ls)

ob = Solution()
nums = [3, 11, 6, 2, 9]
k = 3
print(ob.solve(nums, k))

ইনপুট

[3, 11, 6, 2, 9],3

আউটপুট

4
  1. পাইথনে বাইনারি ট্রিতে নোড এবং এর ডিসেন্ডেন্টের মধ্যে সর্বোচ্চ পার্থক্য বের করার প্রোগ্রাম

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

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

  4. পাইথনে লিস্টে সর্বোচ্চ ও ন্যূনতম উপাদানের পজিশন বের করার প্রোগ্রাম