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
  • points सरणी में प्रत्येक point_1 के लिए:
    • x1, y1 = point_1
    • distance_count_dict नामक एक मैप परिभाषित करें
    • points सरणी में प्रत्येक point_2 के लिए:
      • x2, y2 = point_2
      • diff_x := x2 - x1
      • diff_y := y2 - y1
      • dist := diff_x^2 + diff_y^2
      • distance_count_dict[dist] := distance_count_dict[dist] + 1
    • distance_count_dict में प्रत्येक d के लिए:
      • n := distance_count_dict[d]
      • counter_of_boomerangs := counter_of_boomerangs + n * (n - 1)
  • counter_of_boomerangs वापस करें

उदाहरण

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 है। इस सरणी में कई संख्याएं हैं जो दो बार होती हैं। केवल एक तत्व एक बार पाया जा सकता है। हमें उस तत्व को उस सरणी से ढूंढना है। मान लीजिए A = [1, 1, 5, 3, 2, 5, 2], तो आउटपुट 3 होगा। चूंकि प्रत्येक संख्या दो बार है, हम उस तत्व को कैंसिल करने के लिए XOR कर सकते हैं। क्यो

  1. - Python में factorial()

    किसी संख्या का फैक्टोरियल ढूंढना डेटा विश्लेषण और Python में शामिल अन्य गणितीय विश्लेषण में एक बार-बार आने वाली आवश्यकता है। फैक्टोरियल हमेशा एक पॉजिटिव इंटीजर के लिए 1 से दी गई संख्या तक के सभी पूर्णांकों को गुणा करके पाया जाता है। इसके लिए तीन दृष्टिकोण हो सकते हैं जैसा कि नीचे दिखाया गया है।For L

  1. - पायथन में रैंडम नंबर्स

    व्याख्यापायथन में रैंडम नंबर्स जनरेट करने के लिए कुछ फंक्शन्स होते हैं। इनका उपयोग बहुत सारे गेम्स, लॉटरी आदि में किया जा सकता है जहां रैंडम नंबर्स जनरेट करने की आवश्यकता होती है।कुछ फंक्शन्स जो रैंडम नंबर्स जनरेट करते हैं:choice()इस फंक्शन का उपयोग नंबर्स के कलेक्शन से एक रैंडम नंबर जनरेट करने के ल