leetcode 算法题1037 (简单275) 有效的回旋镖
- 题目介绍
回旋镖定义为一组三个点,这些点各不相同且不在一条直线上。
给出平面上三个点组成的列表,判断这些点是否可以构成回旋镖。
- 示例
输入:[[1,1],[2,3],[3,2]]
输出:true
输入:[[1,1],[2,2],[3,3]]
输出:false
- 提示
points.length == 3
points[i].length == 2
0 <= points[i][j] <= 100
- 解法一
/**
* @param {number[][]} points
* @return {boolean}
*/
var isBoomerang = function(points) {
let [p0, p1, p2] = points;
if(p0[0] === p1[0] && p1[0] === p2[0]) {
return false;
}
if(p0[0] === p1[0] && p0[1] === p1[1]) {
return false;
}
if(p2[0] === p1[0] && p2[1] === p1[1]) {
return false;
}
if(p0[0] === p1[0] || p1[0] === p2[0]) {
return true;
}
return (p0[1] - p1[1]) / (p0[0] - p1[0]) !== (p1[1] - p2[1]) / (p1[0] - p2[0]);
};
执行用时 : 60 ms, 在所有 JavaScript 提交中击败了98.70%的用户
内存消耗 : 34 MB, 在所有 JavaScript 提交中击败了100.00%的用户