Valid Boomerang

检查是否三点共线,是返回false,不是返回true。我看答案有几个用的是三角形面积的解法。我觉得那种解法更巧妙, 我用的是直接的y/x来判断三点共线,注意了一下x为0和三点重合的情况。重合的时候直接false。

class Solution {
    public boolean isBoomerang(int[][] points) {
        if(check(points[0],points[1]) || check(points[0],points[2]) || check(points[1],points[2]))
            return false;
        double x = (double)(points[1][1] - points[0][1]) / (points[1][0] - points[0][0]);
        double y = (double)(points[2][1] - points[1][1]) / (points[2][0] - points[1][0]);
        return x != y;
    }
    private boolean check(int[] x, int[] y) {
        return x[0] == y[0] && x[1] == y[1];
    }
}