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

Python में किसी अन्य ऐरे के सबऐरे को जोड़कर ऐरे जनरेट करने का प्रोग्राम


मान लीजिए हमारे पास एक 2D ऐरे है जिसे groups कहा जाता है, और एक और ऐरे nums है। हमें यह जांचना है कि क्या हम nums ऐरे से n डिसजॉइंट सबऐरे चुन सकते हैं ताकि iवां सबऐरे groups[i] (0-इंडेक्स्ड) के बराबर हो, और यदि i > 0, तो (i-1)वां सबऐरे nums में iवें सबऐरे से पहले दिखाई देगा।

उदाहरण के लिए, यदि इनपुट इस प्रकार है: groups = [[2,-2,-2],[4,-3,0]] और nums = [1,-1,0,2,-2,-2,4,-3,0], तो आउटपुट true होगा क्योंकि ऐरे group[0] nums के इंडेक्स 3 से 5 तक मौजूद है और group[1] इंडेक्स 6 से 8 तक nums में है।

समाधान के चरण

  1. i := 0 सेट करें
  2. groups में प्रत्येक grp के लिए:
    • j को i से nums के आकार - 1 तक लूप करें:
      • यदि nums का सबऐरे (इंडेक्स j से j + grp के आकार तक) grp के समान है, तो:
        • i := j + grp का आकार
        • लूप से बाहर निकलें
      • अन्यथा, False वापस करें
  3. True वापस करें

उदाहरण

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

def solve(groups, nums):
    i = 0
    for grp in groups:
        for j in range(i, len(nums)):
            if nums[j:j+len(grp)] == grp:
                i = j + len(grp)
                break
        else:
            return False
    return True

groups = [[2,-2,-2],[4,-3,0]]
nums = [1,-1,0,2,-2,-2,4,-3,0]
print(solve(groups, nums))

इनपुट

[[2,-2,-2],[4,-3,0]], [1,-1,0,2,-2,-2,4,-3,0]

आउटपुट

True
  1. - पायथन में अद्वितीय सरणी के सन्निकट अंतराल खोजने का प्रोग्राम

    मान लीजिए हमारे पास nums नामक अद्वितीय संख्याओं की एक सूची है। हमें संख्याओं की एक क्रमबद्ध 2D मैट्रिक्स ढूंढनी है जहां प्रत्येक सूची एक समावेशी अंतराल को दर्शाती है जो nums में सन्निकट संख्याओं को सारांशित करती है। उदाहरण के लिए, यदि इनपुट nums = [10, 11, 12, 15, 16, 17, 28, 30] है, तो आउटपुट [[10

  1. पायथन प्रोग्राम: सरणी में इनवर्जन गिनें पायथन प्रोग्राम: सरणी में इनवर्जन गिनें

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक लिस्ट दी गई है, हमें आवश्यक इनवर्जन गिनने और प्रदर्शित करने हैं। इनवर्जन काउंट यह गिनकर प्राप्त किया जाता है कि सरणी को क्रमबद्ध करने के लिए कितने चरणों की आवश्यकता है। उदाहरण arr[j]): inv_count += 1 re

  1. पायथन प्रोग्राम: सरणी रोटेशन पायथन प्रोग्राम: सरणी रोटेशन

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक टेक्स्ट और एक पैटर्न दिया गया है, हमें पैटर्न और उसके क्रमपरिवर्तन (या एनाग्राम) की सभी घटनाओं को टेक्स्ट में प्रिंट करना है। उदाहरण # अधिकतम मान MAX = 300 # तुलना def compare(arr1, arr2): for i in range(MAX):