কম্পিউটার

পাইথনে একই উচ্চতার k টাওয়ার তৈরির জন্য প্রয়োজনীয় ন্যূনতম সংখ্যক ইট খুঁজে বের করার প্রোগ্রাম


ধরুন আমাদের কাছে টাওয়ারের উচ্চতার একটি তালিকা এবং একটি ধনাত্মক মান k আছে। আমরা k টাওয়ার নির্বাচন করতে চাই এবং আরও ইট যোগ করে সেগুলিকে একই উচ্চতা করতে চাই, তবে যতটা সম্ভব কম ইট ব্যবহার করে। k টাওয়ার বাছাই করতে এবং সেগুলিকে একই উচ্চতায় তৈরি করতে আমাদের সর্বনিম্ন সংখ্যক ইট খুঁজে বের করতে হবে৷

সুতরাং, যদি ইনপুটটি উচ্চতা =[4, 7, 31, 14, 40] k =3 এর মত হয়, তাহলে আউটপুট হবে 17, যেমন আমরা 5, 8, এবং 15 নির্বাচন করতে পারি যার জন্য একই উচ্চতা তৈরি করতে 17টি ইট প্রয়োজন। .

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

  • তালিকা উচ্চতা বাছাই করুন
  • উত্তর :=অসীম
  • s :=0
  • প্রতিটি সূচী i এবং মান x উচ্চতার জন্য, করুন
    • s :=s + x
    • যদি i>=k, তাহলে
      • s :=s - উচ্চতা[i - k]
    • যদি i>=k - 1, তাহলে
      • উত্তর :=সর্বনিম্ন উত্তর এবং (x * k - s)
  • উত্তর ফেরত দিন

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

উদাহরণ

class Solution:
   def solve(self, heights, k): heights.sort()
      ans = float("inf")
      s = 0
      for i, x in enumerate(heights):
         s += x
         if i >= k:
            s -= heights[i - k]
         if i >= k - 1:
            ans = min(ans, x * k - s)
      return ans
ob = Solution()
heights = [5, 8, 32, 15, 41]
k = 3
print(ob.solve(heights, k))

ইনপুট

[5, 8, 32, 15, 41], 3

আউটপুট

17

  1. পাইথনে শেষ অবস্থানে পৌঁছানোর জন্য প্রয়োজনীয় ন্যূনতম সংখ্যক হপ খুঁজে বের করার প্রোগ্রাম

  2. পাইথনে তালিকাকে সুষম করতে দুই প্রান্ত থেকে ন্যূনতম সংখ্যক মুছে ফেলার প্রয়োজনীয়তা খুঁজে বের করার প্রোগ্রাম

  3. পাইথনে এক নম্বর থেকে অন্য নম্বর তৈরি করার জন্য প্রয়োজনীয় ন্যূনতম সংখ্যক অপারেশন খুঁজে বের করার প্রোগ্রাম

  4. পাইথনে একটি স্ট্রিং সাবস্ট্রিং অন্যটির জন্য প্রয়োজনীয় ন্যূনতম সংখ্যক অপারেশন খুঁজে বের করার প্রোগ্রাম