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

पायथन में दाएं ओर का परिपत्र बड़ा तत्व खोजने का प्रोग्राम


मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है। हमें समान लंबाई की एक नई सूची ढूंढनी है जहां इंडेक्स i पर मान, nums[i] के दाएं ओर के अगले बड़े तत्व को सौंपा गया है, आवश्यकता पड़ने पर सूची के सामने की ओर घूमकर। यदि कोई बड़ी संख्या नहीं है, तो इसे -1 पर सेट करना चाहिए।

उदाहरण के लिए, यदि इनपुट [4, 5, 1, 3] है, तो आउटपुट [5, -1, 3, 4] होगा।

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

  • n := a का आकार
  • stack := एक स्टैक, प्रारंभ में 0 डालें, res := आकार n की सूची, -1 से भरी हुई
  • 0 और 1 के लिए प्रत्येक मान के लिए करें:
    • i को 0 से n-1 तक के लिए करें:
      • जब तक stack खाली नहीं है और a[stack[-1]] < a[i], करें:
        • res[stack[-1]] := a[i]
        • stack से अंतिम तत्व हटाएं
      • stack के अंत में i डालें
  • res वापस करें

उदाहरण

class Solution:
    def solve(self, a):
        n = len(a)
        stack, res = [0], [-1] * n
        for _ in range(2):
            for i in range(n):
                while stack and a[stack[-1]] < a[i]:
                    res[stack[-1]] = a[i]
                    stack.pop()
                stack.append(i)
        return res
ob = Solution()
nums = [4, 5, 1, 3]
print(ob.solve(nums))

इनपुट

[4, 5, 1, 3]

आउटपुट

[5, -1, 3, 4]
  1. Python प्रोग्राम से ऐरे में सबसे बड़ा तत्व खोजना Python प्रोग्राम से ऐरे में सबसे बड़ा तत्व खोजना

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक ऐरे दिया गया है, हमें ऐरे के सबसे बड़े तत्व की गणना करने की आवश्यकता है। यहां हम ब्रूट-फोर्स दृष्टिकोण का उपयोग करते हैं जिसमें हम पूरे लूप को पार करके और तत्व प्राप्त करके सबसे बड़ा तत्व निकालते हैं। हम नीच

  1. पायथन प्रोग्राम: मैट्रिक्स का ट्रांसपोज़ ढूंढें पायथन प्रोग्राम: मैट्रिक्स का ट्रांसपोज़ ढूंढें

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट एक मैट्रिक्स दिए जाने पर, हमें ट्रांसपोज़ को उसी मैट्रिक्स में स्टोर करना होगा और इसे प्रदर्शित करना होगा। मैट्रिक्स का ट्रांसपोज़ पंक्तियों को कॉलम में और कॉलम को पंक्तियों में बदलकर

  1. पायथन प्रोग्राम: ऐरे का योग ढूंढें पायथन प्रोग्राम: ऐरे का योग ढूंढें

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट इनपुट के रूप में एक ऐरे दिए जाने पर, हमें दिए गए ऐरे का योग निकालने की आवश्यकता है। यहां हम ब्रूट-फोर्स दृष्टिकोण का पालन कर सकते हैं यानी एक लिस्ट को ट्रैवर्स करना और प्रत्येक एलिमें