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

पायथन में जांचें कि उपसरणी को उलटने से सरणी क्रमबद्ध हो जाएगी या नहीं


मान लीजिए हमारे पास अद्वितीय तत्वों की एक सरणी nums है। हमें जांचना है कि क्या इसकी एक उपसरणी को उलटने से सरणी क्रमबद्ध हो जाएगी। यदि सरणी पहले से क्रमबद्ध है, तो भी True लौटाएं।

उदाहरण के लिए, यदि nums = [4, 6, 27, 25, 15, 9, 37, 42] है, तो आउटपुट True होगा क्योंकि [9, 15, 25, 27] को उलटने से सरणी क्रमबद्ध हो जाती है।

हल करने का तरीका

  1. n := nums का आकार
  2. यदि केवल एक तत्व है तो True लौटाएं
  3. पहला इंडेक्स i ढूंढें जहां nums[i-1] > nums[i] (पहली गिरावट)
  4. j := i से आगे बढ़ें जब तक nums[j] < nums[j-1] (गिरावट जारी है)
  5. जांचें कि क्या यह उपसरणी उलटने के बाद फिट बैठती है
  6. बाकी सरणी जांचें कि क्रमबद्ध है या नहीं

उदाहरण कोड

def solve(nums):
    n = len(nums)
    if n == 1:
        return True
    i = 1
    for i in range(1, n):
        if nums[i - 1] < nums[i]:
            if i == n:
                return True
            else:
                break
    j = i
    while j < n and nums[j] < nums[j - 1]:
        if i > 1 and nums[j] < nums[i - 2]:
            return False
        j += 1
    if j == n:
        return True
    k = j
    if nums[k] < nums[i - 1]:
        return False
    while k > 1 and k < n:
        if nums[k] < nums[k - 1]:
            return False
        k += 1
    return True

nums = [4, 6, 27, 25, 15, 9, 37, 42]
print(solve(nums))

इनपुट

[4, 6, 27, 25, 15, 9, 37, 42]

आउटपुट

True
  1. - पायथन में जांचें कि कोई ऐरे सॉर्टेड और रोटेटेड है या नहीं

    मान लीजिए हमारे पास n अद्वितीय मानों का एक ऐरे है। हमें यह जांचना है कि क्या यह ऐरे सॉर्टेड और एंटी-क्लॉकवाइज रोटेटेड है। यहां कम से कम एक रोटेशन आवश्यक है, इसलिए पूरी तरह से सॉर्टेड ऐरे को सॉर्टेड और रोटेटेड नहीं माना जाता। उदाहरण के लिए, यदि इनपुट nums = [4,5,6,8,1,3] है, तो आउटपुट True होगा क्यो

  1. - Python में जांचें कि क्या कोई संख्या क्रमबद्ध सरणी में बहुमत तत्व है

    मान लीजिए हमारे पास एक सरणी है जिसे nums कहा जाता है और यह गैर-घटते क्रम में क्रमबद्ध है, और एक संख्या target है। हमें यह पता लगाना है कि क्या target एक बहुमत तत्व है। एक सरणी में एक बहुमत तत्व वह तत्व है जो लंबाई N की सरणी में N/2 से अधिक बार प्रकट होता है। इसलिए यदि सरणी जैसी है - [2,4,5,5,5,5,5,6

  1. - पायथन प्रोग्राम: जांचें कि दिया गया ऐरे मोनोटोनिक है या नहीं

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