[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/Edwardlinge/JavaArithmetic/master/src/LeetCode/Leetcode447.java [Back]  [Original]

package LeetCode;

import java.util.HashMap;

public class Leetcode447 {

    // 447. Number of Boomerangs
    // https://leetcode.com/problems/number-of-boomerangs/description/
    // : O(n^2)
    // : O(n)

    public int numberOfBoomerangs(int[][] points) {

        int res = 0;
        for( int i = 0 ; i < points.length ; i ++ ){

            // record i 
            HashMap record = new HashMap();
            for(int j = 0 ; j < points.length ; j ++)
                if(j != i){
                    // , 
                    int dis = dis(points[i], points[j]);
                    if(record.containsKey(dis))
                        record.put(dis, record.get(dis) + 1);
                    else
                        record.put(dis, 1);
                }

            for(Integer dis: record.keySet())
                res += record.get(dis) * (record.get(dis) - 1);
        }
        return res;
    }

    // 
    private int dis(int[] pa, int pb[]){
        return (pa[0] - pb[0]) * (pa[0] - pb[0]) +
                (pa[1] - pb[1]) * (pa[1] - pb[1]);
    }
}

Web Proxy Viewer  |  New URL  |  Original Page