Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में दी गई शर्तों के साथ पूरे किए जा सकने वाले कार्यों की संख्या खोजने का प्रोग्राम


मान लीजिए हमारे पास कार्यों की एक सूची और लोगों की एक अन्य सूची है। 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. - पायथन में संदेश को डिकोड करने के तरीकों की संख्या खोजने का प्रोग्राम

    मान लीजिए हमारे पास a = 1, b = 2, ... z = 26 जैसा मैपिंग है, और हमारे पास एक एन्कोडेड संदेश message स्ट्रिंग है, हमें उन तरीकों की संख्या गिननी है जिनसे इसे डिकोड किया जा सकता है। उदाहरण के लिए, यदि इनपुट message = 222 है, तो आउटपुट 3 होगा, क्योंकि इसे 3 तरीकों से डिकोड किया जा सकता है: bbb, bv, और

  1. - पायथन में दी गई संख्या में बिट 1 की संख्या खोजने का प्रोग्राम

    मान लीजिए हमारे पास एक संख्या n है, हमें उस संख्या के बाइनरी प्रतिनिधित्व में बिट 1 की संख्या ढूंढनी है। उदाहरण के लिए, यदि इनपुट 12 है, तो आउटपुट 2 होगा। इसे हल करने के लिए हम निम्न चरणों का पालन करेंगे: count := 0 जब तक n शून्येतर है, करें: count := count + (n AND 1) n := n/2 का फ्लोर count व

  1. - पायथन में अधिकतम सिक्के एकत्र करने का प्रोग्राम

    मान लीजिए हमारे पास एक 2D मैट्रिक्स है जहां प्रत्येक सेल कुछ सिक्के संग्रहीत करता है। यदि हम [0,0] से शुरू करते हैं, और केवल दाएं या नीचे जा सकते हैं, तो हमें नीचे-दाएं कोने तक पहुंचने तक एकत्र किए जा सकने वाले अधिकतम सिक्कों की संख्या ढूंढनी है। उदाहरण के लिए, यदि इनपुट है: 1422 6005 तो आउटपुट