কম্পিউটার

পাইথনে প্রদত্ত শর্তগুলির সাথে কাজের সংখ্যা খুঁজে বের করার প্রোগ্রামটি শেষ করা যেতে পারে


ধরুন আমাদের কাছে কাজের একটি তালিকা এবং মানুষের আরেকটি তালিকা আছে। কার্যগুলি [i] ith কার্য সম্পাদনের জন্য প্রয়োজনীয় শক্তির পরিমাণ নির্ধারণ করে। এবং জনগণ [i] ব্যক্তির শক্তির পরিমাণ নির্ধারণ করে। পরিশেষে, একজন ব্যক্তি সর্বাধিক একটি কাজ সম্পাদন করতে পারলে কতগুলি কাজ শেষ করা যাবে তা আমাদের খুঁজে বের করতে হবে।

সুতরাং, যদি ইনপুটটি টাস্ক =[4, 3, 9, 15], মানুষ =[10, 5, 3, 2] এর মতো হয়, তাহলে আউটপুট হবে 3, যেমন প্রথম ব্যক্তি 9 টাস্ক সম্পাদন করতে পারে, দ্বিতীয় ব্যক্তি করতে পারে টাস্ক 4 সম্পাদন করুন, তৃতীয় ব্যক্তি টাস্ক 3 সম্পাদন করতে পারবেন এবং চতুর্থ ব্যক্তি কোন কাজ সম্পাদন করতে পারবেন না৷

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

  • লিস্টের কাজগুলো সাজান, তালিকার লোকদের সাজান
  • ct:=0, ind:=0
  • মানুষের আকার 0 থেকে সীমার মধ্যে,
      করুন
    • j এর জন্য পরিসীমা ind থেকে কাজের আকার, করুন
      • যদি মানুষ[i]>=টাস্ক[j], তাহলে
        • ct :=ct + 1
        • ind :=ind + 1
        • লুপ থেকে বেরিয়ে আসুন
      • অন্যথায়,
        • লুপ থেকে বেরিয়ে আসুন
  • সিটি ফেরত দিন

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

উদাহরণ

class Solution:
   def solve(self, tasks, people): tasks.sort()
      people.sort()
      ct=0
      ind=0
      for i in range(len(people)):
         for j in range(ind,len(tasks)):
            if people[i]>=tasks[j]:
               ct+=1
               ind+=1
               break
            else:
               break
         return ct
ob = Solution()
tasks = [4, 3, 9, 15]
people = [10, 5, 3, 2] print(ob.solve(tasks, people))

ইনপুট

[4, 3, 9, 15], [10, 5, 3, 2]

আউটপুট

3

  1. পাইথনে প্রদত্ত শর্ত সহ দীর্ঘতম সাবলিস্টের দৈর্ঘ্য খুঁজে বের করার প্রোগ্রাম

  2. আমরা পাইথনে একটি বার্তা ডিকোড করতে পারি এমন কয়েকটি উপায় খুঁজে বের করার প্রোগ্রাম

  3. পাইথনে প্রদত্ত সংখ্যায় বিট 1-এর সংখ্যা খুঁজে বের করার প্রোগ্রাম

  4. পাইথনে আমরা সর্বাধিক সংখ্যক কয়েন সংগ্রহ করতে পারি তা খুঁজে বের করার প্রোগ্রাম