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

पाइथॉन में c[i] =d*a[i] + b[i] के रूप में बनाई गई सरणी c[] में शून्य की संख्या को अधिकतम करने के लिए d खोजें


मान लीजिए कि हमारे पास n पूर्णांकों के दो सरणियाँ A और B हैं, अब एक सरणी C पर विचार करें, जहाँ i-th संख्या d*A[i] + B[i] होगी और यहाँ d कोई मनमाना वास्तविक संख्या है। हमें d इस प्रकार ज्ञात करना है कि सरणी C में शून्य की अधिकतम संख्या हो। शून्य की संख्या भी लौटाएं।

इसलिए, यदि इनपुट A =[15, 40, 45] और B =[4, 5, 6] जैसा है, तो आउटपुट d =-0.266666 होगा, शून्य की संख्या 1

होगी।

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

  • n :=A का आकार

  • my_map :=एक नया नक्शा

  • गिनती :=0

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

    • यदि B[i] 0 के समान नहीं है और A[i] 0 के समान नहीं है, तो

      • वैल:=(-1.0 * बी[i]) / ए[i]

      • अगर वैल my_map में नहीं है, तो

        • my_map[val] :=0

      • my_map[val] :=my_map[val] + 1

    • अन्यथा जब B[i] 0 के समान हो और A[i] 0 के समान हो, तब

      • गिनती :=गिनती + 1

  • अधिकतम :=0;

  • my_map में प्रत्येक आइटम के लिए, करें

    • अधिकतम:=अधिकतम my_map[आइटम], अधिकतम

  • प्रत्येक कुंजी के लिए, my_map में मान, करें

    • यदि मान अधिकतम के समान हैं, तो

      • प्रदर्शन कुंजियाँ

      • लूप से बाहर आएं

  • अधिकतम + गिनती प्रदर्शित करें

उदाहरण (पायथन)

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

def find_d_zero(A, B) :
   n = len(A)
   my_map = {}
   count = 0
   for i in range(n) :
      if (B[i] != 0 and A[i] != 0) :
         val = (-1.0 * B[i]) / A[i]
         if val not in my_map :
            my_map[val] = 0
         my_map[val] += 1
      elif (B[i] == 0 and A[i] == 0) :
      count += 1
   maximum = 0;
   for item in my_map :
      maximum = max(my_map[item], maximum)
   for keys, values in my_map.items() :
      if (values == maximum) :
         print("d = ", keys)
         break
   print("Number of 0s: ", maximum + count)
a = [15, 40, 45]
b = [4, 5, 6]
find_d_zero(a, b)

इनपुट

[15, 40, 45], [4,5,6]

आउटपुट

d = -0.26666666666666666
Number of 0s: 1

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

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

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

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

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

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