1037. 有效的回旋镖(2022-6-8)
给定一个数组 points ,其中 points[i] = [xi, yi] 表示 X-Y 平面上的一个点,如果这些点构成一个 回旋镖 则返回 true 。
回旋镖 定义为一组三个点,这些点 各不相同 且 不在一条直线上 。
示例 1:
输入:points = [[1,1],[2,3],[3,2]]
输出:true
示例 2:
输入:points = [[1,1],[2,2],[3,3]]
输出:false
提示:
- points.length == 3
- points[i].length == 2
- 0 <= xi, yi <= 100
解题思路
致敬高中的自己!solute!那时真是啥都会,现在是啥都不会,「三点共线公式」都得查。
「三点共线」:下边公式相等就共线;回旋镖则是三点不共线即可。
(
x
3
−
x
1
)
∗
(
y
2
−
y
1
)
=
(
x
2
−
x
1
)
∗
(
y
3
−
y
1
)
(x3 - x1) * (y2 - y1) = (x2 - x1) * (y3 - y1)
(x3−x1)∗(y2−y1)=(x2−x1)∗(y3−y1)
var isBoomerang = function(points) {
const [[x1,y1],[x2,y2],[x3,y3]] = points
return (x3 - x1) * (y2 - y1) != (x2 - x1) * (y3 - y1)
};
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/valid-boomerang
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。