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

वह न्यूनतम समय ज्ञात करें जिसके बाद कोई व्यक्ति पायथन में नोटों का आदान-प्रदान कर सकता है


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

तो, यदि इनपुट इनपुट की तरह है:n =6, k =[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 होगा, क्योंकि कैशियर को प्रत्येक ग्राहक के प्रत्येक नोट को स्कैन करने के लिए 5 सेकंड की आवश्यकता होती है, इसलिए 5*m[I,j] जोड़ें। अब प्रत्येक कैशियर प्रत्येक ग्राहक के लिए 15 सेकंड लेता है, इसलिए उत्तर में 15*k[] जोड़ें। प्रत्येक कैशियर द्वारा लिए गए समय की गणना के बाद लिया गया न्यूनतम समय उत्तर होगा। तो खजांची एम [5] न्यूनतम समय 585 लेता है।

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

  • n :=k का आकार

  • न्यूनतम:=99999

  • मेरे लिए 0 से n की सीमा में, करें

    • अस्थायी :=k[i] * 15

    • j के लिए 0 से k[i] की सीमा में, करें

      • अस्थायी:=अस्थायी + एम [i, जे] * 5

    • यदि अस्थायी <न्यूनतम, तो

      • न्यूनतम:=अस्थायी

  • न्यूनतम वापसी

उदाहरण

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

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. न्यूनतम संख्या रंग खोजने का कार्यक्रम पायथन में विलय के बाद रहता है

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

  1. 2x1 आकार के आयतों की संख्या ज्ञात कीजिए जिन्हें पायथन में n x m आकार के आयत के अंदर रखा जा सकता है

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

  1. मैं पायथन फ़ंक्शन के तर्कों की संख्या कैसे प्राप्त कर सकता हूं?

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