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

Python में Daily Temperatures


मान लीजिए हमारे पास दैनिक तापमान 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
  • जब तक i < T की लंबाई
    • जब तक स्टैक तत्वों की संख्या 0 नहीं है और T[i] > T[स्टैक शीर्ष तत्व]
      • index := स्टैक शीर्ष तत्व
      • ans[index] := i - index
      • स्टैक से शीर्ष तत्व हटाएं
    • यदि स्टैक की लंबाई 0 है या T[i] <= T[स्टैक शीर्ष तत्व]
      • स्टैक में i सम्मिलित करें
    • i को 1 से बढ़ाएं
  • ans लौटाएं

उदाहरण (Python)

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

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. Python में वर्षा जल संग्रहण Python में वर्षा जल संग्रहण

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

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

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

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

    इस लेख में, हम पायथन 3.x (या पूर्व संस्करणों) में Stack और Queue संरचनाओं के बारे में सीखेंगे। यहाँ हम इन डेटा संरचनाओं के भीतर कार्य और संशोधन पर चर्चा करेंगे। इसमें शामिल हैं - सम्मिलन संक्रिया (Push, Enqueue) हटाने की संक्रिया (Pop, Dequeue) प्रदर्शन/ट्रैवर्सल संक्रिया पूर्वापेक्षाएँ: सूची औ