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

जांचें कि क्या सॉर्ट किए गए सरणी को जोड़े में विभाजित किया जा सकता है जिसका योग पायथन में k है

मान लीजिए कि हमारे पास संख्याओं की एक सरणी है और दूसरी संख्या k है, हमें यह जांचना है कि क्या दिए गए सरणी को जोड़े में विभाजित किया जा सकता है जैसे कि प्रत्येक जोड़ी का योग k है या नहीं।

इसलिए, यदि इनपुट arr =[1, 2, 3, 4, 5, 6], k =7 जैसा है, तो आउटपुट सही होगा क्योंकि हम (2, 5), (1, 6) जैसे जोड़े ले सकते हैं। और (3, 4)।

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

  • n :=गिरफ्तारी का आकार
  • यदि n विषम है, तो
    • झूठी वापसी
  • निम्न :=0, उच्च :=n - 1
  • कम <उच्च होने पर,
      . करें
    • अगर arr[low] + arr[high] k के समान नहीं है, तो
      • झूठी वापसी
    • निम्न :=निम्न + 1
    • उच्च :=उच्च - 1
  • सही लौटें

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

उदाहरण

def solve(arr, k):
   n = len(arr)
   if n % 2 == 1:
      return False
   low = 0
   high = n - 1
   while low < high:
      if arr[low] + arr[high] != k:
         return False
      low = low + 1
      high = high - 1
   return True
arr = [1, 2, 3, 4, 5, 6]
k = 7
print(solve(arr, k))

इनपुट

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

आउटपुट

True

  1. उन योगों का पता लगाएं जिनके लिए एक सरणी को समान योग के उप-सरणी में पायथन में विभाजित किया जा सकता है

    मान लीजिए कि हमारे पास पूर्णांक ए की एक सरणी है; हमें योग के लिए सभी मानों को खोजना होगा ताकि एक मान के लिए योग [i] सरणी को योग योग [i] के उप-सरणी में विभाजित किया जा सके। यदि हम सरणी को समान योग के उप-सरणी में विभाजित नहीं कर सकते हैं तो -1 लौटाएं। इसलिए, यदि इनपुट ए =[2, 4, 2, 2, 2, 4, 2, 6] जैसा

  1. जांचें कि क्या कोई संख्या पायथन में एक क्रमबद्ध सरणी में बहुसंख्यक तत्व है

    मान लीजिए कि हमारे पास एक सरणी है, जिसे nums कहा जाता है और जिसे गैर-घटते क्रम में क्रमबद्ध किया जाता है, और एक संख्या लक्ष्य। हमें यह पता लगाना होगा कि क्या लक्ष्य बहुसंख्यक तत्व है। एक सरणी में बहुसंख्यक तत्व एक ऐसा तत्व है जो लंबाई N की एक सरणी में N/2 से अधिक बार दिखाई देता है। इसलिए यदि सरणी इस

  1. पायथन में सॉर्ट किए गए ऐरे को मर्ज करें

    मान लीजिए कि हमारे पास दो क्रमबद्ध सरणी A और B हैं। हमें उन्हें मर्ज करना है और केवल एक क्रमबद्ध सरणी C बनाना है। सूचियों का आकार भिन्न हो सकता है। उदाहरण के लिए, मान लीजिए A =[1,2,4,7] और B =[1,3,4,5,6,8], तो मर्ज की गई सूची C होगी [1,1,2,3,4, 4,5,6,7,8] इसे हल करने के लिए, इन चरणों का पालन करें