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

পাইথন প্রোগ্রাম - K উপাদান মুছে ন্যূনতম অ্যাম্প্লিচিউড বের করুন

মনে করুন nums নামে একটি সংখ্যার লিস্ট এবং k নামে একটি মান আছে। nums থেকে k উপাদান সরালে (maximum of nums - minimum of nums)-এর ন্যূনতম মান বের করুন।

ইনপুট nums = [4, 10, 3, 2, 8, 9], k = 3 হলে আউটপুট হবে ২, কারণ 10, 8, 9 সরালে সর্বাধিক ৪, ন্যূনতম ২, পার্থক্য ২।

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

  • nums লিস্ট সর্ট করুন
  • p := len(nums) - k
  • m := nums[-1] - nums[0]
  • i = 0 থেকে len(nums) - p পর্যন্ত লুপ:
    • যদি nums[i + p - 1] - nums[i] < m, তবে m := nums[i + p - 1] - nums[i]
  • m ফেরত দিন

উদাহরণ

বাস্তবায়ন:

def solve(nums, k):
    nums = sorted(nums)
    p = len(nums) - k
    m = nums[-1] - nums[0]
    for i in range(0, len(nums) - p + 1):
        if nums[i + p - 1] - nums[i] < m:
            m = nums[i + p - 1] - nums[i]
    return m

nums = [10, 4, 3, 2, 9, 8]
k = 3
print(solve(nums, k))

ইনপুট

[10, 4, 3, 2, 9, 8], 3

আউটপুট

2
  1. পাইথনে রঙ মার্জ করলে অবশিষ্ট ন্যূনতম রঙের সংখ্যা বের করার প্রোগ্রাম

  2. পাইথনে এলিমেন্ট আপডেট করে ম্যাক্স-মিন পার্থক্য ন্যূনতম করার প্রোগ্রাম

  3. পাইথনে তালিকা থেকে অ-সন্নিহিত উপাদানগুলোর সর্বোচ্চ সমষ্টি খুঁজে বের করার প্রোগ্রাম

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