কম্পিউটার

পাইথনে উদ্ধারের জন্য প্রয়োজনীয় ন্যূনতম সংখ্যক রকেটশিপ খুঁজে বের করার প্রোগ্রাম


ধরুন আমাদের কাছে ওজন নামক সংখ্যার একটি তালিকা আছে যা মানুষের ওজনকে প্রতিনিধিত্ব করছে এবং একটি মান সীমা একটি রকেট জাহাজের ওজন সীমা নির্ধারণ করে। এখন প্রতিটি রকেটশিপ সর্বোচ্চ দুই জনকে নিতে পারে। প্ল্যানেটে সবাইকে উদ্ধার করতে আমাদের ন্যূনতম সংখ্যক রকেট জাহাজ খুঁজে বের করতে হবে।

সুতরাং, যদি ইনপুটটি ওজনের মত হয় =[৩০০, ৪০০, ৩০০], সীমা =৬০০, তাহলে আউটপুট হবে 2, কারণ দুটি লোককে নিতে একটি রকেট জাহাজ লাগবে যার প্রতিটির ওজন 300, এবং অন্যটি নিতে হবে। যার ওজন ৪০০।

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

  • তালিকার ওজন বাছাই করুন

  • cnt :=0

  • ওজন খালি না থাকা অবস্থায়, করুন

    • x :=ওজন থেকে শেষ উপাদান মুছে দিন

    • যদি ওজন খালি না হয় এবং ওজন [0] <=সীমা − x, তাহলে

      • ওজন থেকে প্রথম উপাদান মুছুন

    • cnt :=cnt + 1

  • ফেরত cnt

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

উদাহরণ(পাইথন)

class Solution:
def solve(self, weights, limit):
   weights.sort()
   cnt = 0
   while weights:
      x = weights.pop()
      if weights and weights[0] <= limit - x:
         weights.pop(0)
      cnt += 1
   return cnt
ob = Solution()
weights = [300, 400, 300]
limit = 600
print(ob.solve(weights, limit))

ইনপুট

[300, 400, 300], 600

আউটপুট

2

  1. একটি সংখ্যার বিজোড় গুণনীয়কের যোগফল খুঁজে বের করার জন্য পাইথন প্রোগ্রাম

  2. একটি সংখ্যার জোড় গুণকের যোগফল খুঁজে বের করার জন্য পাইথন প্রোগ্রাম

  3. সংখ্যার ন্যূনতম যোগফল নির্ণয়ের জন্য পাইথন প্রোগ্রাম

  4. একটি সংখ্যার বৃহত্তম মৌলিক ফ্যাক্টর খুঁজে বের করার জন্য পাইথন প্রোগ্রাম