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

(आधार, संख्या) के जोड़े वाले सरणी में मैचों की संख्या का पता लगाने के लिए पायथन प्रोग्राम

मान लीजिए, हमें प्रारूप (x, y) में कई अलग-अलग जोड़े दिए गए हैं। यहाँ x किसी संख्या के आधार को दर्शाता है और y स्वयं संख्या को दर्शाता है। सूची में ऐसे जोड़े हैं जिनका अर्थ समान है। हमें दिए गए नंबर जोड़े में मैचों की संख्या की जांच करनी है। दिए गए जोड़े बेमानी हो सकते हैं, और इसमें अमान्य आधार-संख्या संयोजन भी हो सकते हैं।

इसलिए, यदि इनपुट num_inputs =2, input_arr =[(10, 15), (8, 17)] जैसा है, तो आउटपुट 1 होगा।

चर num_inputs इनपुट की संख्या निर्दिष्ट करता है, और सरणी input_arr संख्या जोड़े को सूचीबद्ध करता है। यहाँ अगर हम दो जोड़ियों को देखें; आधार 10 (दशमलव) में 15, आधार 8 (अष्टक) में 17 के समान है। तो, एक मैच है और हम आउटपुट मान 1 लौटाते हैं।

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

  • arr_len :=input_arr का आकार

  • temp_dict :=पूर्णांक मानों वाला एक नया नक्शा

  • मेरे लिए 0 से num_inputs की सीमा में, करें

    • num_base :=input_arr में युग्म की पहली संख्या का स्ट्रिंग प्रतिनिधित्व

    • num_val :=input_arr में युग्म i की दूसरी संख्या का स्ट्रिंग प्रतिनिधित्व

    • temp_dict [(num_val, पूर्णांक प्रतिनिधित्व (num_base)) का पूर्णांक प्रतिनिधित्व:=temp_dict [(num_val, पूर्णांक प्रतिनिधित्व (num_base)) का पूर्णांक प्रतिनिधित्व] + 1

  • सीएनटी:=0
  • temp_dict के सभी मानों की सूची में प्रत्येक मान के लिए, करें
    • cnt :=cnt + value* ((मान -1) / 2) का न्यूनतम मूल्य
  • वापसी सीएनटी

उदाहरण

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

from collections import defaultdict
def solve(num_inputs, input_arr):
   arr_len = len(input_arr)
   temp_dict = defaultdict(int)
   for i in range(num_inputs):
      num_base, num_val = str(input_arr[i][0]), str(input_arr[i][1])
      temp_dict[int(num_val, int(num_base))] += 1
   cnt = 0
   for value in temp_dict.values():
      cnt += value*(value - 1)//2
   return cnt
print(solve(2, [(10, 15), (8, 17)]))

इनपुट

2, [(10, 15), (8, 17)]

आउटपुट

1

  1. सूची में सबसे छोटी संख्या खोजने के लिए पायथन प्रोग्राम

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

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

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

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

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