1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| // @Title: 回旋镖的数量 (Number of Boomerangs)
// @Author: 15816537946@163.com
// @Date: 2021-09-13 23:58:03
// @Runtime: 148 ms
// @Memory: 7.1 MB
func numberOfBoomerangs(points [][]int) int {
res := 0
for i := 0; i < len(points); i++ {
dict := make(map[int]int)
for j := 0; j < len(points); j++ {
d := dis(points[i], points[j])
if v, ok := dict[d]; !ok {
dict[d]++
} else {
res += 2 * v
dict[d]++
}
}
}
return res
}
func dis(a []int, b []int) int {
x := a[0] - b[0]
y := a[1] - b[1]
return x*x + y*y
}
|