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

পাইথনে দেওয়া শর্ত অনুযায়ী সম্পন্ন হয়ে যাওয়া টাস্কের সংখ্যা বের করার প্রোগ্রাম


मान लीजिए हमारे पास कार्यों की एक सूची है और लोगों की एक और सूची है। tasks[i] i-वें कार्य को करने के लिए आवश्यक ताकत की मात्रा निर्धारित करता है। और people[i] i-वें व्यक्ति की ताकत की मात्रा निर्धारित करता है। अंत में, हमें उन कार्यों की संख्या ढूंढनी है जो पूरे हो सकते हैं यदि एक व्यक्ति अधिकतम एक कार्य कर सकता है।

उदाहरण के लिए, यदि इनपुट है tasks = [4, 3, 9, 15], people = [10, 5, 3, 2], तो आउटपुट होगा 3, क्योंकि पहला व्यक्ति कार्य 9 कर सकता है, दूसरा व्यक्ति कार्य 4 कर सकता है, तीसरा व्यक्ति कार्य 3 कर सकता है, और चौथा व्यक्ति कोई कार्य नहीं कर सकता।

इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे:

  • tasks सूची को सॉर्ट करें, people सूची को सॉर्ट करें
  • ct := 0, ind := 0
  • i के लिए 0 से people के आकार तक की रेंज में, करें
    • j के लिए ind से tasks के आकार तक की रेंज में, करें
      • यदि people[i] >= tasks[j], तो
        • ct := ct + 1
        • ind := ind + 1
        • लूप से बाहर निकलें
      • अन्यथा,
        • लूप से बाहर निकलें
  • ct वापस करें

बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:

उदाहरण

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. পাইথনে দেয়া সংখ্যার বাইনারি রিপ্রেজেন্টেশনে ১ বিটের সংখ্যা গণনা করার প্রোগ্রাম

  4. পাইথনে ২ডি ম্যাট্রিক্সে ডান ও নিচে চলা সীমাবদ্ধ রেখে সর্বোচ্চ কয়েন সংগ্রহ করার প্রোগ্রাম