123456789101112131415161718192021222324 |
- func numberOfBoomerangs(points [][]int) (cnt int) {
- n := len(points)
- dis := make([][]int, n)
- for i := 0; i < n; i++ {
- dis[i] = make([]int, n)
- }
- for i := 0; i < n-1; i++ {
- for j := i + 1; j < n; j++ {
- dx, dy := points[i][0]-points[j][0], points[i][1]-points[j][1]
- dis[i][j] = dx*dx + dy*dy
- dis[j][i] = dis[i][j]
- }
- }
- for i := 0; i < n; i++ {
- m := make(map[int]int)
- for j := 0; j < n; j++ {
- m[dis[i][j]]++
- }
- for _, v := range m {
- cnt += v * (v - 1)
- }
- }
- return
- }
|