447. 迴旋鏢的數量
給定平面上n 對不同的點,「迴旋鏢」 是由點表示的元組(i, j, k)
,其中i
和j
之間的距離和i
和k
之間的距離相等(需要考慮元組的順序)。
找到所有迴旋鏢的數量。你可以假設n 最大為500,所有點的座標在閉區間[-10000, 10000]中。
示例:
輸入:[[0,0],[1,0],[2,0]]輸出:2解釋:兩個迴旋鏢為[[1,0],[0,0],[2,0]]和[[1,0],[2,0],[0,0]]
class solution(object):
def numberofboomerangs(self, points):
""":type points: list[list[int]]
:rtype: int
"""ans = 0
def distances(p1,p2):
dis = (p1[0] - p2[0])**2 + (p1[1] - p2[1])**2
return dis
for lst1 in points:
count = {}
for lst2 in points:
if lst1 != lst2:
dis = distances(lst1,lst2)
count[dis] = count.get(dis,0) + 1
for i in count.values():
if i >= 2:
ans += i*(i-1)
return ans
LeetCode447 迴旋鏢的數量
給定平面上 n 對不同的點,迴旋鏢 是由點表示的元組 i,j,k 其中 i 和 j 之間的距離和 i 和 k 之間的距離相等 需要考慮元組的順序 找到所有迴旋鏢的數量。你可以假設 n 最大為 500,所有點的座標在閉區間 10000,10000 中。示例 輸入 0,0 1,0 2,0 輸出 2解釋 ...
leetcode447 迴旋鏢的數量
給定平面上 n 對不同的點,迴旋鏢 是由點表示的元組 i,j,k 其中 i 和 j 之間的距離和 i 和 k 之間的距離相等 需要考慮元組的順序 找到所有迴旋鏢的數量。你可以假設 n 最大為 500,所有點的座標在閉區間 10000,10000 中。示例 輸入 0,0 1,0 2,0 輸出 2 解釋...
LeetCode 447 迴旋鏢的數量
給定平面上 n 對不同的點,迴旋鏢 是由點表示的元組 i,j,k 其中 i 和 j 之間的距離和 i 和 k 之間的距離相等 需要考慮元組的順序 找到所有迴旋鏢的數量。你可以假設 n 最大為 500,所有點的座標在閉區間 10000,10000 中。示例 輸入 0,0 1,0 2,0 輸出 2 解釋...