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

पायथन में असंबद्ध अंतराल में विभाजन सरणी खोजने का कार्यक्रम

मान लीजिए कि हमारे पास एक सरणी संख्या है, हमें इसे दो अलग-अलग उप-सरणी में विभाजित करना होगा, जिन्हें बाएँ और दाएँ कहा जाता है, जैसे -

  • बाएँ उप-सरणी में प्रत्येक तत्व दाएँ उप-सरणी में प्रत्येक तत्व से कम या उसके बराबर है।

  • बाएँ और दाएँ उप-सरणी खाली नहीं हैं।

  • लेफ्ट सबअरे का आकार सबसे छोटा संभव है।

इस तरह के विभाजन के बाद हमें बाईं ओर की लंबाई का पता लगाना होगा।

इसलिए, यदि इनपुट nums =[5,0,3,8,6] जैसा है, तो आउटपुट 3 होगा क्योंकि लेफ्ट ऐरे [5,0,3] होगा और राइट सबएरे [8,6] होगा।

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

  • एमएक्स:=शून्य, अस्थायी:=शून्य, एनएमएक्स:=शून्य

  • अस्थायी2:=0

  • प्रत्येक i के लिए अंकों में करें

    • अगर एमएक्स शून्य के समान है, तो

      • एमएक्स:=मैं

      • एनएमएक्स:=मैं

      • अस्थायी:=अस्थायी2

      • temp2 :=temp2 + 1

      • अगले पुनरावृत्ति के लिए जाएं

    • अगर i>=mx, तो

      • temp2 :=temp2 + 1

      • अगर मैं>एनएमएक्स, तो

        • एनएमएक्स:=मैं

      • अगले पुनरावृत्ति के लिए जाएं

    • अन्यथा,

      • अस्थायी:=अस्थायी2

      • temp2 :=temp2 + 1

      • एमएक्स:=एनएमएक्स

      • अगले पुनरावृत्ति के लिए जाएं

  • वापसी अस्थायी+1

उदाहरण

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

def solve(nums):
   mx = None
   temp = None
   nmx = None
   temp2 = 0

   for i in nums:

      if(mx==None):
         mx = i
         nmx = i
         temp = temp2
         temp2+=1
         continue

      if(i>=mx):
         temp2+=1
         if(i>nmx):
            nmx = i
         continue

      else:
         temp = temp2
         temp2+=1
         mx = nmx
         continue

   return temp+1

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

इनपुट

[5,0,3,8,6]

आउटपुट

3

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

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

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

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

  1. n . से विभाजित सरणी गुणन के अनुस्मारक खोजने के लिए पायथन कार्यक्रम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे - समस्या कथन कई संख्याओं और एक संख्या इनपुट n को देखते हुए, हमें n से विभाज्य सभी संख्या को गुणा करने के बाद शेष को प्रिंट करना होगा। दृष्टिकोण सबसे पहले, शेष की गणना arr[i]% n की तरह करें। फिर इस शेष को वर्तमान परिणाम से गुणा क