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

पायथन में वैध पर्वत सरणी

मान लीजिए हमारे पास पूर्णांकों की एक सरणी A है; हमें जांचना होगा कि यह एक वैध पर्वत सरणी है या नहीं। हम जानते हैं कि A एक पर्वत सरणी है यदि और केवल यदि यह निम्न स्थितियों को संतुष्ट करती है - A का आकार >= 3

A में कुछ इंडेक्स i मौजूद है जैसे कि -

  • A[0] < A[1] < ... A[i-1] < A[i]
  • A[i] > A[i+1] > ... > A[A.length - 1]

तो, यदि इनपुट [0,3,2,1] जैसा है, तो आउटपुट True होगा।

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

  • यदि A का आकार < 3, तो
    • False लौटाएं
  • i := 1
  • जब i < A का आकार और A[i] > A[i-1], करें
    • i := i + 1
  • यदि i, 1 के समान है या i, A के आकार के समान है, तो
    • False लौटाएं
  • जब i < A का आकार और A[i] < A[i-1], करें
    • i := i + 1
  • i, A के आकार के समान होने पर true लौटाएं

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

उदाहरण

class Solution:
    def validMountainArray(self, A):
        if len(A) < 3:
            return False
        i = 1
        while i < len(A) and A[i] > A[i-1]:
            i += 1
        if i == 1 or i == len(A):
            return False
        while i < len(A) and A[i] < A[i-1]:
            i += 1
        return i == len(A)

ob = Solution()
print(ob.validMountainArray([0, 3, 2, 1]))

इनपुट

[0,3,2,1]

आउटपुट

True
  1. - पायथन में वैध एनाग्राम

    एनाग्राम मूल रूप से किसी दिए गए स्ट्रिंग या पैटर्न के सभी क्रमपरिवर्तन हैं। यह पैटर्न खोज एल्गोरिदम थोड़ा अलग है। इस मामले में, न केवल सटीक पैटर्न खोजा जाता है, यह टेक्स्ट में दिए गए पैटर्न के सभी संभावित व्यवस्थाओं को खोजता है। यदि इनपुट ANAGRAM और NAAGARM हैं, तो वे एनाग्राम हैं, लेकिन cat और fat

  1. - पायथन में क्रमबद्ध सरणी मर्ज करें

    मान लीजिए हमारे पास दो क्रमबद्ध सरणी A और B हैं। हमें उन्हें मर्ज करना है और केवल एक क्रमबद्ध सरणी C बनाना है। सूचियों का आकार भिन्न हो सकता है। उदाहरण के लिए, मान लीजिए A = [1,2,4,7] और B = [1,3,4,5,6,8], तो मर्ज की गई सूची C [1,1,2,3,4,4,5,6,7,8] होगी। हल करने के चरण i := 0, j := 0 और end := A क

  1. - दिए गए आकार के समूहों में सरणी को उल्टा करने का पायथन प्रोग्राम

    समस्या विवरण =n तो हम सरणी के सभी तत्वों को उल्टा कर देते हैं। एल्गोरिदम i लूप कंट्रोल वेरिएबल है जिसे 0 से आरंभ किया गया है। व्हाइल लूप का उपयोग करके जांचें कि i, n से कम है या नहीं। यदि हां तो: L = i (बाएं सब सरणी) R = min(i + p - 1, n - 1) (दाएं सब सरणी) व्हाइल लूप का उपयोग करक