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

न्यूनतम लंबाई वाले अनसोल्ड सबरे को खोजें, जो कि पूरी सरणी को पायथन में सॉर्ट करता है


मान लीजिए कि हमारे पास आकार n का एक दिया गया अक्रमित सरणी A[0..n-1] है, हमें न्यूनतम लंबाई उपसरणी A[s..e] ढूंढनी होगी ताकि छँटाई द्वारा इस सबअरे को पूरी ऐरे को सॉर्ट किया जाएगा। इसलिए, अगर ऐरे [2,6,4,8,10,9,15] जैसा है, तो आउटपुट 5 होगा। सबएरे [6,4,8,10,9] होगा।

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

  • res :=अंकों को एक सरणी के रूप में क्रमबद्ध करें

  • उत्तर :=0

  • r को लिंक की गई सूची के रूप में सेट करें

  • मेरे लिए 0 से लेकर रेस की लंबाई तक है

    • अगर nums[i] res[i] के समान नहीं है, तो i को r में डालें

  • यदि r की लंबाई 0 है, तो 0 लौटाएं, यदि r की लंबाई 1 है, तो 1 लौटाएं

  • r का अंतिम तत्व लौटाएं - r + 1 का पहला तत्व

उदाहरण

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

class Solution(object):
   def findUnsortedSubarray(self, nums):
      res = sorted(nums)
      ans = 0
      r = []
      for i in range(len(res)):
         if nums[i] != res[i]:
            r.append(i)
      if not len(r):
         return 0
      if len(r) == 1:
         return 1
      return r[-1]-r[0]+1
ob1 = Solution()
print(ob1.findUnsortedSubarray([2,6,4,8,10,9,15]))

इनपुट

[2,6,4,8,10,9,15]

आउटपुट

5

  1. पायथन प्रोग्राम में सरणी का योग ज्ञात करें

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

  1. एक सरणी में सबसे बड़ा तत्व खोजने के लिए पायथन प्रोग्राम

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

  1. सरणी का योग खोजने के लिए पायथन कार्यक्रम

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