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

पायथन में आसन्न जोड़े से सरणी को पुनर्स्थापित करने का कार्यक्रम

मान लीजिए कि हमारे पास आकार n-1 के adPair नामक एक 2D सरणी है, जहां प्रत्येक adPair [i] में दो तत्व हैं [ui, vi] यह दर्शाता है कि तत्व ui और vi अंक नामक एक सरणी में आसन्न हैं, अंकों में n अद्वितीय तत्व हैं। हमें सरणी संख्याएं ढूंढनी होंगी। अगर कई समाधान हैं, तो उनमें से कोई भी वापस करें।

इसलिए, यदि इनपुट adPair =[[3,2], [4,5], [4,3]] जैसा है, तो आउटपुट [2,3,4,5]

होगा।

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

  • my_map :=अलग-अलग कुंजियों की सूची स्टोर करने के लिए एक खाली नक्शा
  • विज्ञापन जोड़ी में प्रत्येक जोड़ी (ए, बी) के लिए, करें
    • my_map[a] के अंत में b डालें[a]
    • my_map[b] के अंत में a डालें[b]
  • my_map में प्रत्येक कुंजी a और मान सूची l के लिए, करें
    • यदि l का आकार 1 के समान है, तो
      • अंक:=दो तत्वों वाली एक सूची (a, l[0])
      • लूप से बाहर आएं
  • i के लिए 1 से लेकर adPair -1 के आकार तक के लिए
    • a, b :=my_map[अंकों का अंतिम तत्व]
    • यदि a, अंकों के दूसरे अंतिम तत्व के समान है, तो
      • अंकों के अंत में b डालें
    • अन्यथा,
      • अंकों के अंत में a डालें
  • रिटर्न अंक

उदाहरण

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

from collections import defaultdict
def solve(adPair):
   my_map = defaultdict(list)
   for a, b in adPair:
      my_map[a].append(b)
      my_map[b].append(a)

   for a, l in my_map.items():
      if len(l) == 1:
         nums = [a, l[0]]
         break
   for i in range(1, len(adPair)):
      a, b = my_map[nums[-1]]

      if a == nums[-2]:
         nums.append(b)
      else:
         nums.append(a)

   return nums

adPair = [[3,2],[4,5],[4,3]]
print(solve(adPair))

इनपुट

[[3,2],[4,5],[4,3]]

आउटपुट

[2, 3, 4, 5]

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

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

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

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

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

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