447 迴旋鏢的數量 簡單)

2021-09-03 07:01:19 字數 1011 閱讀 3763

給定平面上n 對不同的點,「迴旋鏢」 是由點表示的元組(i, j, k),其中ij之間的距離和ik之間的距離相等(需要考慮元組的順序)。

找到所有迴旋鏢的數量。你可以假設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:

def numberofboomerangs(self, points):

""":type points: list[list[int]]

:rtype: int

"""def distance(p1,p2):

return (p1[0]-p2[0])**2+(p1[1]-p2[1])**2

result=0

for i in points:

d={}

for j in points:

if j!=i:

dist=distance(i,j)

d[dist]=d.get(dist,0)+1 #如果存在值就加上1,如果不存在就為0然後加一

for val in d.values():

if val>=2:

result+=val*(val-1)

return result

執行用時: 1852 ms, 在number of boomerangs的python3提交中擊敗了64.77% 的使用者

447 迴旋鏢的數量

給定平面上 n 對 互不相同 的點 points 其中 points i xi,yi 迴旋鏢 是由點 i,j,k 表示的元組 其中 i 和 j 之間的距離和 i 和 k 之間的歐式距離相等 需要考慮元組的順序 返回平面上所有迴旋鏢的數量。import j a.util.hashmap import ...

LeetCode447 迴旋鏢的數量

給定平面上 n 對不同的點,迴旋鏢 是由點表示的元組 i,j,k 其中 i 和 j 之間的距離和 i 和 k 之間的距離相等 需要考慮元組的順序 找到所有迴旋鏢的數量。你可以假設 n 最大為 500,所有點的座標在閉區間 10000,10000 中。示例 輸入 0,0 1,0 2,0 輸出 2解釋 ...

LeetCode447 迴旋鏢的數量

447.迴旋鏢的數量 給定平面上n 對不同的點,迴旋鏢 是由點表示的元組 i,j,k 其中i和j之間的距離和i和k之間的距離相等 需要考慮元組的順序 找到所有迴旋鏢的數量。你可以假設n 最大為500,所有點的座標在閉區間 10000,10000 中。示例 輸入 0,0 1,0 2,0 輸出 2解釋 ...