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

पायथन में नोट्स बदलने के लिए न्यूनतम समय खोजें


मान लीजिए n संख्या में कैशियर पैसे का आदान-प्रदान कर रहे हैं। फिलहाल, i-वें कैशियर के सामने k[i] लोग हैं। अब, i-वें कैशियर की लाइन में j-वें व्यक्ति के पास m[i][j] नोट हैं। हमें ढूंढना है कि कोई अपने नोट्स कितनी जल्दी बदल सकता है। ध्यान रखें कि कैशियर एक नोट को स्कैन करने में 5 सेकंड खर्च करता है। प्रत्येक ग्राहक के सभी नोट्स स्कैन करने के बाद, वह नोट्स बदलने में 15 सेकंड लेता है।

इसलिए, यदि इनपुट है: n = 6, k = [12, 12, 12, 12, 12, 12]

7897961099678
10710989999656
9889867910667
769669896689
98765108107668
876579796557
तो आउटपुट 585 होगा, क्योंकि कैशियर को प्रत्येक ग्राहक के हर नोट के लिए 5 सेकंड चाहिए, इसलिए 5*m[i][j] जोड़ें। अब प्रत्येक कैशियर प्रत्येक ग्राहक के लिए 15 सेकंड लेता है, इसलिए उत्तर में 15*k[] जोड़ें। प्रत्येक कैशियर द्वारा लिए गए समय की गणना करने के बाद न्यूनतम समय उत्तर होगा। तो कैशियर m[5] न्यूनतम समय 585 लेता है।

समाधान दृष्टिकोण

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

  • n := len(k)
  • minimum := 99999
  • i को 0 से n-1 तक के लिए:
    • temp := k[i] * 15
    • j को 0 से k[i]-1 तक:
      • temp := temp + m[i][j] * 5
    • यदि temp < minimum, तो minimum := temp
  • minimum लौटाएं।

उदाहरण

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

def minTimeToExchange(k, m):
    n = len(k)
    minimum = 99999
    for i in range(n):
        temp = k[i] * 15
        for j in range(k[i]):
            temp += m[i][j] * 5
        if temp < minimum:
            minimum = temp
    return minimum

k = [12, 12, 12, 12, 12, 12]
m = [
    [7, 8, 9, 7, 9, 6, 10, 9, 9, 6, 7, 8],
    [10, 7, 10, 9, 8, 9, 9, 9, 9, 6, 5, 6],
    [9, 8, 8, 9, 8, 6, 7, 9, 10, 6, 6, 7],
    [7, 6, 9, 6, 6, 9, 8, 9, 6, 6, 8, 9],
    [9, 8, 7, 6, 5, 10, 8, 10, 7, 6, 6, 8],
    [8, 7, 6, 5, 7, 9, 7, 9, 6, 5, 5, 7]
]
print(minTimeToExchange(k, m))

इनपुट

[12, 12, 12, 12, 12, 12], [[7,8,9,7,9,6,10,9,9,6,7,8], [10,7,10,9,8,9,9,9,9,6,5,6], [9,8,8,9,8,6,7,9,10,6,6,7], [7,6,9,6,6,9,8,9,6,6,8,9], [9,8,7,6,5,10,8,10,7,6,6,8], [8,7,6,5,7,9,7,9,6,5,5,7]]

आउटपुट

585
  1. पायथन में मर्जिंग के बाद न्यूनतम रंगों की संख्या खोजने का प्रोग्राम पायथन में मर्जिंग के बाद न्यूनतम रंगों की संख्या खोजने का प्रोग्राम

    मान लीजिए हमारे पास रंगों (R, G, B) की एक लिस्ट है। अब यदि दो अलग-अलग रंग अगल-बगल हैं तो वे तीसरे रंग के एकल रंग आइटम में बदल सकते हैं। हमें किसी भी संभावित परिवर्तन अनुक्रम के बाद शेष सबसे छोटी संख्या ढूंढनी है।उदाहरण के लिए, यदि इनपुट colors = [G, R, G, B, R] है, तो आउटपुट 1 होगा क्योंकि यह नीचे द

  1. पायथन में n x m आकार के आयत के अंदर रखे जा सकने वाले 2x1 आकार के आयतों की संख्या खोजें पायथन में n x m आकार के आयत के अंदर रखे जा सकने वाले 2x1 आकार के आयतों की संख्या खोजें

    मान लीजिए हमारे पास दो मान n और m हैं। हमें 2x1 आकार के आयतों की संख्या ढूंढनी है जिन्हें n x m आकार के आयत के अंदर रखा जा सकता है। कुछ शर्तें हैं जिन पर विचार करना है: कोई भी दो छोटे आयत ओवरलैप नहीं हो सकते। प्रत्येक छोटा आयत बड़े आयत के अंदर पूरी तरह से स्थित होना चाहिए। बड़े आयत के किनारों को छ

  1. - पायथन फंक्शन के आर्गुमेंट्स की संख्या कैसे पता करें?

    मान लीजिए qux.py नामक एक स्क्रिप्ट निम्नानुसार है: #qux.py def aMethod1(arg1, arg2): pass def aMethod2(arg1,arg2, arg3, arg4, arg5): pass मान लें कि आपके पास इस स्क्रिप्ट की सामग्री तक पहुंच नहीं है, आप दिए गए फंक्शन में आर्गुमेंट्स की संख्या निम्नानुसार पता लगा सकते हैं: पायथन फंक्शन के अंद