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

यह जांचने का कार्यक्रम कि क्या हम अपने पसंदीदा दिन पर पायथन में पसंदीदा कैंडी खा सकते हैं

मान लीजिए कि हमारे पास सकारात्मक कैल्स कैंडीजकाउंट की एक सरणी है जहां कैंडीजकाउंट [i] हमारे पास ith प्रकार की कैंडीज की संख्या को दर्शाता है। हमारे पास क्वेरीज़ नामक एक और सरणी भी है जहां क्वेरीज़ [i] के तीन पैरामीटर हैं [पसंदीदा टाइप_आई, पसंदीदाडे_आई, डेलीकैप_आई]। हमारे कुछ नियम हैं:

  • हम 0 दिन से कैंडी खाना शुरू करते हैं।

  • हम किसी भी प्रकार की कैंडी नहीं खा सकते हैं जब तक कि हम पिछले i-1 प्रकार की सभी कैंडी नहीं खा लेते।

  • हमें प्रति दिन कम से कम एक कैंडी तब तक खानी चाहिए जब तक कि हम सभी खा न लें।

इन नियमों को बनाए रखते हुए, हमें प्रत्येक क्वेरी परिणामों के लिए बूलियन मानों की एक सरणी बनानी होगी और आई-वें प्रविष्टि सत्य है यदि हम किसी भी दिन दैनिक कैप_आई कैंडी से अधिक खाए बिना पसंदीदा दिन पर पसंदीदा टाइप_आई प्रकार की कैंडी खा सकते हैं। नियम 2 का पालन करके हम एक ही दिन विभिन्न प्रकार की कैंडी खा सकते हैं।

इसलिए, यदि इनपुट कैंडीजकाउंट =[7,4,5,3,8], क्वेरीज़ =[[0,2,2], [4,2,4], [2,13,100]] की तरह है, तो आउटपुट [सत्य, असत्य, सत्य] होगा क्योंकि

  • अगर हम दिन 0 और पहले दिन 2 टाइप-0 कैंडी खाते हैं, तो हम दिन में टाइप-0 कैंडी खाएंगे

  • हम प्रतिदिन अधिकतम 4 कैंडी खा सकते हैं। यदि हम प्रतिदिन 4 कैंडीज खाते हैं, तो हम 0 दिन में 4 टाइप-0 कैंडी और 1 टाइप-0, टाइप-1 कैंडीज 1 दिन खाएंगे। कैंडीज, इसलिए हम 2 दिन में टाइप 4 की कैंडी नहीं खा सकते हैं।

  • हम प्रतिदिन 1 कैंडी खा सकते हैं, हम 13वें दिन टाइप-2 की कैंडी खाएंगे।

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

  • sumcandy :=एकल तत्व कैंडीजकाउंट के साथ एक सूची[0]

  • सूचकांक:=1

  • जबकि इंडेक्स <कैंडीज का आकारगिनें, करें

    • समकैंडी के अंत में (sumcandy[index-1] + candiesCount[index]) डालें

    • अनुक्रमणिका :=अनुक्रमणिका + 1

  • समकैंडी के अंत में 0 डालें

  • रेस:=एक नई सूची

  • प्रत्येक प्रश्न के लिए, करें

    • प्रकार:=प्रत्येक[0]

    • दिन:=प्रत्येक[1]

    • टोपी:=प्रत्येक[2]

    • अगर दिन+1> sumcandy[typ] या (दिन+1)*कैप <=sumcandy[typ-1], तो

      • रेस के अंत में गलत डालें

    • अन्यथा,

      • रेस के अंत में ट्रू डालें

  • रिटर्न रेस

उदाहरण

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

def solve(candiesCount, queries):
   sumcandy = [candiesCount[0]]
   index=1
   while index < len(candiesCount):
      sumcandy.append(sumcandy[index-1] + candiesCount[index])
      index+=1
   sumcandy.append(0)
   res=[]
   for each in queries:
      typ=each[0]
      day=each[1]
      cap=each[2]
      if day+1 > sumcandy[typ] or (day+1)*cap <= sumcandy[typ-1]:
         res.append(False)
      else:
         res.append(True)
   return res

candiesCount = [7,4,5,3,8]
queries = [[0,2,2],[4,2,4],[2,13,100]]
print(solve(candiesCount, queries))

इनपुट

[7,4,5,3,8], [[0,2,2],[4,2,4],[2,13,100]]

आउटपुट

[True, False, True]

  1. पायथन में नोड्स की अदला-बदली से दो पेड़ बन सकते हैं या नहीं, इसकी जाँच करने के लिए कार्यक्रम

    मान लीजिए कि हमारे पास दो पेड़ हैं, हमें यह जांचना होगा कि क्या हम किसी भी नोड के बाएँ और दाएँ सबट्री को कितनी भी बार स्वैप करके पहले पेड़ को दूसरे में बदल सकते हैं। तो, अगर इनपुट पसंद है तो आउटपुट सही होगा इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - que1 :=शुरुआत में root0 वाली एक कतार

  1. यह जांचने के लिए प्रोग्राम कि क्या एक स्ट्रिंग को 1 से 1 के लिए पायथन में दूसरे स्ट्रिंग में मैप किया जा सकता है

    मान लीजिए कि हमारे पास दो लोअरकेस स्ट्रिंग्स हैं, और t हमें यह जांचना है कि क्या हम s में प्रत्येक अक्षर के लिए एक 1-टू-1 मैपिंग बना सकते हैं (शायद एक ही अक्षर) जैसे कि s को t में मैप किया जा सकता है। (अक्षरों का क्रम नहीं बदला जाएगा)। i इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - s_dict :=ए

  1. एक सूची खाली है या नहीं, यह जांचने के लिए पायथन प्रोग्राम?

    एक खाली सूची दी। हमारा काम मौसम की जांच करना है कि यह सूची खाली है या नहीं। यहाँ हम जाँच करते हैं जाँच का एक निहित तरीका है। एल्गोरिदम Step 1: We take an empty list. Step 2: then check if list is empty then return 1 otherwise 0. उदाहरण कोड # Python code to check for empty list def checklist(A):