Skip to content

Commit f487dfc

Browse files
solves number of boomerangs in python
1 parent a0fccd4 commit f487dfc

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@
118118
| 434 | [Number of Segments in a String](https://leetcode.com/problems/number-of-segments-in-a-string) | Easy | [![Java](https://img.icons8.com/color/40/000000/java-coffee-cup-logo.png)](src/NumberOfSegmentsInString.java) [![Python](https://img.icons8.com/color/35/000000/python.png)](python/number_of_segments_in_a_string.py) |
119119
| 441 | [Arranging Coins](https://leetcode.com/problems/arranging-coins) | Easy | [![Java](https://img.icons8.com/color/40/000000/java-coffee-cup-logo.png)](src/ArrangingCoins.java) [![Python](https://img.icons8.com/color/35/000000/python.png)](python/arranging_coins.py) |
120120
| 443 | [String Compression](https://leetcode.com/problems/string-compression) | Medium | [![Java](https://img.icons8.com/color/40/000000/java-coffee-cup-logo.png)](src/StringCompression.java) [![Python](https://img.icons8.com/color/35/000000/python.png)](python/string_compression.py) |
121-
| 447 | [Number of Boomerangs](https://leetcode.com/problems/number-of-boomerangs) | Easy | [![Java](https://img.icons8.com/color/40/000000/java-coffee-cup-logo.png)](src/NumberOfBoomerangs.java) |
121+
| 447 | [Number of Boomerangs](https://leetcode.com/problems/number-of-boomerangs) | Medium | [![Java](https://img.icons8.com/color/40/000000/java-coffee-cup-logo.png)](src/NumberOfBoomerangs.java) [![Python](https://img.icons8.com/color/35/000000/python.png)](python/number_of_boomerangs.py) |
122122
| 448 | [Find All Numbers Disappeared in an Array](https://leetcode.com/problems/find-all-numbers-disappeared-in-an-array) | Easy | [![Java](https://img.icons8.com/color/40/000000/java-coffee-cup-logo.png)](src/FindAllNumbersDisappearedInAnArray.java) |
123123
| 453 | [Minimum Moves to Equal Array Elements](https://leetcode.com/problems/minimum-moves-to-equal-array-elements) | Easy | [![Java](https://img.icons8.com/color/40/000000/java-coffee-cup-logo.png)](src/MinimumMovesToEqualArrayElements.java) [![Python](https://img.icons8.com/color/35/000000/python.png)](python/minimum_moves_to_equal_array_element.py) |
124124
| 455 | [Assign Cookies](https://leetcode.com/problems/assign-cookies) | Easy | [![Java](https://img.icons8.com/color/40/000000/java-coffee-cup-logo.png)](src/AssignCookies.java) [![Python](https://img.icons8.com/color/35/000000/python.png)](python/assign_cookies.py)|

python/number_of_boomerangs.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
from typing import List
2+
3+
4+
class Solution:
5+
def get_distance(self, p1: List[int], p2: List[int]) -> int:
6+
x1, y1 = p1
7+
x2, y2 = p2
8+
dx, dy = x2 - x1, y2 - y1
9+
return dx ** 2 + dy ** 2
10+
11+
def numberOfBoomerangs(self, points: List[List[int]]) -> int:
12+
result = 0
13+
for p1 in points:
14+
distance_frequency = {}
15+
for p2 in points:
16+
distance = self.get_distance(p1, p2)
17+
distance_frequency[distance] = distance_frequency.get(distance, 0) + 1
18+
for frequency in distance_frequency.values():
19+
result += frequency * (frequency - 1)
20+
return result

0 commit comments

Comments
 (0)