代码
/**
* @param {number[][]} points
* @return {boolean}
*/
var isBoomerang = function(points) {
let set = new Set(points.map(el => el + ''))
if (set.size < 3) {
return false;
}
let sides = [];
sides[0] = Math.sqrt(Math.pow(points[0][0] - points[1][0], 2) + Math.pow(points[0][1] - points[1][1], 2));
sides[1] = Math.sqrt(Math.pow(points[0][0] - points[2][0], 2) + Math.pow(points[0][1] - points[2][1], 2));
sides[2] = Math.sqrt(Math.pow(points[1][0] - points[2][0], 2) + Math.pow(points[1][1] - points[2][1], 2));
sides.sort();
if (sides[0] + sides[1] <= sides[2]) {
return false;
}
return true;
};
思路
用斜率判断是否一条直线效率高多了