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

पायथन में बुमेरांग की संख्या


मान लीजिए कि हमारे पास समतल में n बिंदु हैं जो सभी जोड़ीवार भिन्न हैं। अब एक "बूमेरांग" (i, j, k) जैसे बिंदुओं का एक टपल है जैसे कि i और j के बीच की दूरी i और k के बीच की दूरी के समान है। हमें बुमेरांगों की संख्या ज्ञात करनी है।

इसलिए, यदि इनपुट [[0,0],[1,0],[2,0]] जैसा है, तो आउटपुट 2 होगा, क्योंकि दो बुमेरांग हैं [[1,0],[0,0] ,[2,0]] और [[1,0],[2,0],[0,0]]।

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

  • counter_of_boomerangs :=0

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

    • x1, y1 =बिंदु_1

    • दूरी_काउंट_डिक्ट नामक मानचित्र को परिभाषित करें

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

      • x2, y2 =बिंदु_2

      • diff_x :=x2 - x1

      • diff_y:=y2 - y1

      • जिला :=diff_x^2 + diff_y^2

      • डिस्टेंस_काउंट_डिक्ट [जिला]:=डिस्टेंस_काउंट_डिक्ट [जिला] + 1

    • दूरी_काउंट_डिक्ट में प्रत्येक d के लिए -

      • n:=दूरी_काउंट_डिक्ट [डी]

      • counter_of_boomerangs :=counter_of_boomerangs + n * (n - 1)

  • वापसी काउंटर_ऑफ़_बूमेरांग्स

उदाहरण

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

from collections import defaultdict
class Solution:
   def numberOfBoomerangs(self, points):
      counter_of_boomerangs = 0
      for point_1 in points:
         x1, y1 = point_1
         distance_count_dict = defaultdict( int )
         for point_2 in points:
            x2, y2 = point_2
            diff_x = x2-x1
            diff_y = y2-y1
            dist = diff_x ** 2 + diff_y ** 2
            distance_count_dict[ dist ] += 1
         for d in distance_count_dict:
            n = distance_count_dict[d]
            counter_of_boomerangs += n * (n-1)
      return counter_of_boomerangs

ob = Solution()
print(ob.numberOfBoomerangs([[0,0],[1,0],[2,0]]))

इनपुट

[[0,0],[1,0],[2,0]]

आउटपुट

0

  1. पायथन में सिंगल नंबर

    मान लीजिए कि हमारे पास एक सरणी A है। इस सरणी में कई संख्याएँ हैं जो दो बार आती हैं। एक बार में केवल एक ही तत्व पाया जा सकता है। हमें उस ऐरे से उस एलीमेंट को खोजना है। मान लीजिए ए =[1, 1, 5, 3, 2, 5, 2], तो आउटपुट 3 होगा। चूंकि प्रत्येक संख्या दो बार होती है, हम उस तत्व को रद्द करने के लिए एक्सओआर कर

  1. फैक्टोरियल () पायथन में

    डेटा विश्लेषण और अजगर से जुड़े अन्य गणितीय विश्लेषण में किसी संख्या का भाज्य ज्ञात करना एक लगातार आवश्यकता है। 1 से शुरू होकर दी गई संख्या तक सभी पूर्णांकों को गुणा करके हमेशा एक धनात्मक पूर्णांक के लिए भाज्य ज्ञात किया जाता है। इसे खोजने के तीन तरीके हो सकते हैं, जैसा कि नीचे दिखाया गया है। फॉर लूप

  1. पायथन में यादृच्छिक संख्या

    स्पष्टीकरण यादृच्छिक संख्या उत्पन्न करने के लिए पायथन के कुछ कार्य हैं। उनका उपयोग बहुत सारे खेलों, लॉटरी आदि में किया जा सकता है जहाँ उत्पन्न करने के लिए यादृच्छिक संख्या की आवश्यकता होती है। कुछ फ़ंक्शन ऐसे हैं जो यादृच्छिक संख्याएँ उत्पन्न करते हैं - पसंद () इस फ़ंक्शन का उपयोग संख्याओं के संग