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

पायथन में सबसे छोटा अनसॉर्टेड कंटीन्यूअस सबरे


मान लीजिए कि हमारे पास एक पूर्णांक सरणी है, हमें एक निरंतर उप-सरणी खोजने की आवश्यकता है, जैसे कि, यदि हम केवल उस उप-सरणी को आरोही क्रम में क्रमबद्ध करते हैं, तो संपूर्ण सरणी को भी क्रमबद्ध किया जाएगा। हमें इस तरह के सबसे छोटे सबएरे को खोजने और इसकी लंबाई को आउटपुट करने की आवश्यकता है। तो अगर सरणी [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. पायथन में कम से कम चक्र लंबाई होल्डिंग लक्ष्य खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास एक निर्देशित ग्राफ की आसन्नता सूची है, जहां सूचकांक i पर प्रत्येक सूची नोड i से जुड़े नोड्स का प्रतिनिधित्व करती है। हमारे पास एक लक्ष्य मूल्य भी है। हमें लक्ष्य वाले सबसे छोटे चक्र की लंबाई ज्ञात करनी है। अगर कोई समाधान नहीं है तो वापसी -1. तो, अगर इनपुट पसंद है 0 है, लेक

  1. पायथन में अधिकतम सबरे

    मान लीजिए कि हमारे पास एक पूर्णांक सरणी ए है। हमें सन्निहित उपसरणियों को खोजना है, जिसकी लंबाई कम से कम एक होगी, और जिसका योग सबसे बड़ा है, और इसका योग भी लौटाएं। तो अगर एरे ए =[-2,1,-3,4,-1,2,1,-5,4] की तरह है, तो योग 6 होगा। और सबरेरे [4, -1] होगा , 2, 1] इसे हल करने के लिए हम गतिशील प्रोग्रामिंग

  1. दो क्रमबद्ध सूची की एक क्रमबद्ध मर्ज की गई सूची बनाने के लिए पायथन कार्यक्रम

    यहां दो उपयोगकर्ता इनपुट सूची दी गई है, दो सूचियों के तत्वों को क्रमबद्ध नहीं किया गया है। हमारा काम इन दो अवर्गीकृत सरणी को मर्ज करना है और उसके बाद सूची को क्रमबद्ध करना है। उदाहरण Input: A [] = {100, 50, 150} B [] = {200, 30, 20} Output: Merge List:{20, 30, 50, 100, 150, 200} एल्गोरिदम