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

पायथन में हम खुश कर सकने वाले लोगों की अधिकतम संख्या खोजने का प्रोग्राम

मान लीजिए हमारे पास एक सूची customers और दूसरी सूची mood है, ये दोनों समान लंबाई के हैं, हमारे पास एक और पूर्णांक k भी है। अब प्रत्येक मिनट i पर, customers[i] संख्या में लोग स्टोर पर आते हैं और जब mood[i] = 1, तो यह दर्शाता है कि ग्राहक खुश हैं और जब mood[i] = 0, तो वे दुखी हैं। हम mood के आकार k के एक सबलिस्ट को 1 पर सेट कर सकते हैं, अंत में हमें उन लोगों की अधिकतम संख्या ढूंढनी है जिन्हें हम खुश कर सकते हैं।

इसलिए, यदि इनपुट है customers = [2, 3, 6, 6, 3], mood = [1, 1, 0, 0, 0], k = 2, तो आउटपुट होगा 17 क्योंकि यदि हम mood[2] और mood[3] को 1 पर सेट करते हैं, तो कुल मूड 2 + 3 + 6 + 6 = 17 ग्राहक खुश होंगे।

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

  • n := mood का आकार
  • a := आकार (n + 1) की एक सूची और 0 से भरें
  • s := 0
  • i के लिए 0 से n - 1 तक की रेंज में, करें:
    • a[i + 1] := a[i]
    • यदि mood[i] शून्येतर है, तो:
      • s := s + customers[i]
    • अन्यथा:
      • a[i + 1] := a[i + 1] + customers[i]
  • d := 0
  • i के लिए k से n तक की रेंज में, करें:
    • d := max(d, a[i] - a[i - k])
  • s + d लौटाएं

उदाहरण

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

def solve(customers, mood, k):
    n = len(mood)
    a = [0] * (n + 1)
    s = 0
    for i in range(n):
        a[i + 1] = a[i]
        if mood[i]:
            s += customers[i]
        else:
            a[i + 1] += customers[i]
    d = 0
    for i in range(k, n + 1):
        d = max(d, a[i] - a[i - k])
    return s + d
customers = [2, 3, 6, 6, 3]
mood = [1, 1, 0, 0, 0]
k = 2
print(solve(customers, mood, k))

इनपुट

[2, 3, 6, 6, 3], [1, 1, 0, 0, 0], 2

आउटपुट

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

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

  1. - पायथन में उन स्ट्रिंग्स की संख्या खोजें जहां 'a' 'a' या 'b' हो सकता है, और 'b' 'b' ही रहता है

    मान लीजिए हमारे पास केवल a और b वाली एक स्ट्रिंग s है। a a रह सकते हैं या b में बदल सकते हैं, लेकिन b को बदला नहीं जा सकता। हमें उन अद्वितीय स्ट्रिंग्स की संख्या ढूंढनी है जो हम बना सकते हैं। उदाहरण के लिए, यदि इनपुट है s = baab, तो आउटपुट होगा 4, क्योंकि हम ये स्ट्रिंग्स बना सकते हैं: [baab, babb,

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

    तीन नंबर a, b और c दिए गए हैं, हमारा कार्य दिए गए नंबरों में से अधिकतम एलिमेंट ढूंढना है।उदाहरणInput: a = 2, b = 4, c = 3 Output: 4एल्गोरिदमचरण 1: तीन यूजर इनपुट नंबर इनपुट करें। चरण 2: तीन नंबर्स को लिस्ट में जोड़ें। चरण 3: सबसे बड़ी संख्या खोजने के लिए max() फंक्शन का उपयोग करें max(lst)। चरण 4: औ