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

पायथन में जांचें कि सरणी के तत्व क्रमागत हैं या नहीं


मान लीजिए हमारे पास nums नामक संख्याओं की एक सरणी है। हमें जांचना है कि क्या इसमें सन्निकट मान हैं या नहीं।

उदाहरण के लिए, यदि nums = [6, 8, 3, 5, 4, 7] है, तो आउटपुट True होगा क्योंकि तत्व 3, 4, 5, 6, 7, 8 हैं।

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

  1. यदि सरणी का आकार < 1, तो False लौटाएं
  2. min_val := nums का न्यूनतम, max_val := nums का अधिकतम
  3. यदि (max_val - min_val + 1) == सरणी का आकार:
    • प्रत्येक तत्व के लिए इंडेक्स j = nums[i] - min_val निकालें
    • यदि nums[j] > 0, तो nums[j] := -nums[j] (भ्रमण के लिए चिह्नित करें)
    • अन्यथा False लौटाएं (डुप्लिकेट)
  4. True लौटाएं
  5. अन्यथा False लौटाएं

यह तरीका सरणी को ही विज़िटेड मार्कर के रूप में उपयोग करके O(1) अतिरिक्त स्थान प्राप्त करता है।

उदाहरण

def solve(nums):
    if len(nums) < 1:
        return False
    min_val = min(nums)
    max_val = max(nums)
    if max_val - min_val + 1 == len(nums):
        for i in range(len(nums)):
            if nums[i] < 0:
                j = -nums[i] - min_val
            else:
                j = nums[i] - min_val
            if nums[j] > 0:
                nums[j] = -nums[j]
            else:
                return False
        return True
    return False

nums = [6, 8, 3, 5, 4, 7]
print(solve(nums))

इनपुट

[6, 8, 3, 5, 4, 7]

आउटपुट

True
  1. - पायथन में ऐरे को जिगजैग बनाने के लिए एलिमेंट्स घटाएं

    मान लीजिए हमारे पास पूर्णांकों का एक ऐरे nums है, एक मूव ऑपरेशन वास्तव में किसी भी एलिमेंट को चुनना और इसे 1 से घटाना है। एक ऐरे A एक जिगजैग ऐरे है यदि या तो 1 या 2 संतुष्ट होता है - A[1] A[3] ... और इसी तरह।प्रत्येक ऑड-इंडेक्स्ड एलिमेंट आसन्न एलिमेंट्स से बड़ा है, इसलिए A[0] A[2] A[4] < ... और

  1. - Python में न्यूनतम चालें सरणी तत्वों को समान करने के लिए II

    मान लीजिए हमारे पास एक गैर-खाली पूर्णांक सरणी है, हमें सभी सरणी तत्वों को समान बनाने के लिए आवश्यक न्यूनतम चालों की संख्या ढूंढनी है, जहां एक चाल चयनित तत्व को 1 से बढ़ाना या घटाना है। इसलिए जब सरणी [1, 2, 3] जैसी है, तो आउटपुट 2 होगा, क्योंकि 1 को 2 तक बढ़ाया जाएगा, और 3 को 2 तक घटाया जाएगा। इसे हल

  1. - पायथन - जांचें कि लिस्ट में सभी तत्व समान हैं या नहीं

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