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

Python में सरणी को घुमाकर सॉर्ट करने की संभावना की जांच कैसे करें?

मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है, हमें यह जांचना है कि क्या हम रोटेशन का उपयोग करके nums को सॉर्ट कर सकते हैं या नहीं। रोटेशन द्वारा हम nums के अंत से कुछ सन्निकट तत्वों को शिफ्ट कर सकते हैं और उन्हें सरणी के सामने रख सकते हैं।

तो, यदि इनपुट nums = [4,5,6,1,2,3] है, तो आउटपुट True होगा क्योंकि हम अंतिम तीन तत्वों को घुमाकर उन्हें पहले भेजकर सॉर्ट कर सकते हैं।

हल करने के चरण

  • n := nums का आकार
  • यदि nums सॉर्टेड है, तो:
    • True लौटाएं
  • अन्यथा,
    • status := True
    • रेंज 0 से n - 2 तक के लिए i, करें:
      • यदि nums[i] > nums[i + 1], तो:
        • लूप से बाहर आएं
    • i := i + 1
    • रेंज i से n - 2 तक के लिए k, करें:
      • यदि nums[k] > nums[k + 1], तो:
        • status := False
        • लूप से बाहर आएं
    • यदि status false है, तो:
      • False लौटाएं
    • अन्यथा,
      • यदि nums[n - 1] <= nums[0], तो:
        • True लौटाएं
      • False लौटाएं

उदाहरण

def solve(nums):
    n = len(nums)
    if all(nums[i] <= nums[i + 1] for i in range(len(nums) - 1)):
        return True
    else:
        status = True
        for i in range(n - 1):
            if nums[i] > nums[i + 1]:
                break
        i += 1
        for k in range(i, n - 1):
            if nums[k] > nums[k + 1]:
                status = False
                break
        if not status:
            return False
        else:
            if nums[n - 1] <= nums[0]:
                return True
            return False

nums = [4,5,6,1,2,3]
print(solve(nums))

इनपुट

[4,5,6,1,2,3]

आउटपुट

True
  1. - सरणी के तत्वों को आरोही क्रम में सॉर्ट करने का पायथन प्रोग्राम

    जब सरणी के तत्वों को आरोही क्रम में सॉर्ट करना हो, तो sort मेथड का उपयोग किया जा सकता है। यह डिफ़ॉल्ट रूप से तत्वों को आरोही क्रम में सॉर्ट करने में मदद करता है। यदि हम इसे अवरोही क्रम में सॉर्ट करना चाहते हैं, तो reverse नामक एक पैरामीटर को True पर सेट किया जा सकता है। उदाहरण my_list = [44, 56, 42

  1. - Python में सशर्त आसन्न स्वैपिंग से सरणी को सॉर्ट करने की संभावना की जांच कैसे करें?

    मान लीजिए हमारे पास nums नामक एक अनियंत्रित सरणी है और सभी तत्व 0 से n-1 की रेंज में हैं। हम nums में आसन्न तत्वों को जितनी बार चाहें स्वैप कर सकते हैं लेकिन केवल तभी जब इन तत्वों के बीच निरपेक्ष अंतर 1 हो। हमें यह जांचना है कि क्या हम nums को सॉर्ट कर सकते हैं या नहीं। तो, यदि इनपुट nums = [1, 0,

  1. Python में वेक्टर A को घुमाकर और वेक्टर C जोड़कर वेक्टर B तक पहुंचने की संभावना की जांच कैसे करें? Python में वेक्टर A को घुमाकर और वेक्टर C जोड़कर वेक्टर B तक पहुंचने की संभावना की जांच कैसे करें?

    मान लीजिए हमारे पास 2D प्लेन में तीन वेक्टर x, y और z हैं। हमें यह जांचना है कि क्या हम वेक्टर x को 90 डिग्री (घड़ी की दिशा में) घुमाकर या आवश्यकतानुसार कई बार z को जोड़कर वेक्टर y प्राप्त कर सकते हैं। तो, यदि इनपुट x = (-4, -2), y = (-1, 2), z = (-2, -1) है, तो आउटपुट True होगा क्योंकि हम x में z