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

पायथन में दैनिक तापमान


मान लीजिए कि हमारे पास दैनिक तापमान T की एक सूची है, हमें एक सूची वापस करनी होगी, जैसे इनपुट में प्रत्येक दिन के लिए, यह दर्शाता है कि गर्म तापमान तक हमें कितने दिन इंतजार करना होगा . अगर कोई भविष्य का दिन नहीं है जिसके लिए यह संभव है, तो इसके बजाय 0 स्टोर करें। उदाहरण के लिए, यदि T =[73, 74, 75, 71, 69, 72, 76, 73], तो आउटपुट [1, 1, 4, 2, 1, 1, 0, 0] होगा।

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

  • Ans :=T के समान आकार की एक सरणी, और इसे 0 से भरें
  • एक स्टैक को परिभाषित करें, और स्टैक में 0 डालें, और i:=1
  • जबकि मैं <टी की लंबाई
    • जबकि स्टैक एलिमेंट काउंट 0 नहीं है और T[i]> T[स्टैक टॉप एलिमेंट]
      • इंडेक्स:=स्टैक टॉप एलिमेंट
      • ans[index] :=i – index
      • स्टैक से शीर्ष तत्व हटाएं
    • यदि स्टैक की लंबाई 0 या T[i] <=T[स्टैक टॉप एलिमेंट]
        . है
      • i को स्टैक में डालें
    • मैं 1 से बढ़ाएँ
  • वापसी उत्तर

उदाहरण (पायथन)

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

class Solution(object):
   def dailyTemperatures(self, T):
      ans = [0 for i in range(len(T))]
      stack = []
      stack.append(0)
      i=1
      while i <len(T):
         while len(stack) and T[i]>T[stack[-1]]:
            index = stack[-1]
            ans[index] = i-index
            stack.pop()
         if not len(stack) or T[i]<=T[stack[-1]]:
            stack.append(i)
         i+=1
      return ans
ob1 = Solution()
print(ob1.dailyTemperatures([73,74,75,71,69,72,76,73]))

इनपुट

[73,74,75,71,69,72,76,73]

आउटपुट

[1, 1, 4, 2, 1, 1, 0, 0]

  1. पायथन में वर्षा जल को फंसाना

    मान लीजिए कि हमारे पास n गैर-ऋणात्मक पूर्णांकों की एक सरणी है। ये एक ऊंचाई के नक्शे का प्रतिनिधित्व कर रहे हैं जहां प्रत्येक बार की चौड़ाई 1 है, हमें गणना करनी होगी कि बारिश के बाद यह कितना पानी फंसा सकता है। तो नक्शा इस तरह होगा - यहां हम देख सकते हैं कि 6 नीले बॉक्स हैं, इसलिए आउटपुट 6 होगा। इ

  1. पायथन में बाइनरी ट्री इनऑर्डर ट्रैवर्सल

    मान लीजिए कि हमारे पास एक बाइनरी ट्री है। हमें रिकर्सन का उपयोग किए बिना इनऑर्डर ट्रैवर्सल स्कीम का उपयोग करके इस पेड़ को पार करना होगा। तो अगर पेड़ ऐसा है फिर ट्रैवर्सल होगा [2,5,7,10,15,20] इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - दो ऐरे रेस और स्टैक बनाएं, कर्व सेट करें:=रूट एक अनंत

  1. पायथन में स्टैक और क्यू के रूप में सूची का उपयोग करना

    इस लेख में, हम पायथन 3.x में स्टैक और कतार संरचनाओं के बारे में जानेंगे। या जल्दी। यहां हम इन डेटा संरचनाओं के कामकाज और संशोधन पर चर्चा करेंगे - इसमें शामिल हैं - इंसर्शन ऑपरेशन (पुश, एनक्यू) हटाने की कार्रवाई (पॉप, डीक्यू) डिस्प्ले / ट्रैवर्सिंग ऑपरेशन आवश्यकताएं :सूची और सूची संचालन संबंधित