1037. 有效的回旋镖

回旋镖定义为一组三个点,这些点各不相同且不在一条直线上。

给出平面上三个点组成的列表,判断这些点是否可以构成回旋镖。

示例 1:

输入:[[1,1],[2,3],[3,2]]
输出:true
示例 2:

输入:[[1,1],[2,2],[3,3]]
输出:false
 

提示:

points.length == 3
points[i].length == 2
0 <= points[i][j] <= 100

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/valid-boomerang
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

三点不相同且不在同一直线上,即构成一个三角形,三角形面积不为0,根据面积公式(向量求面积)S=1/2(x1(y2-y3)+x2(y3-y1)+x3(y1-y2))

S!=0即(x1(y2-y3)+x2(y3-y1)+x3(y1-y2))!=0

执行结果:
通过
执行用时 :0 ms, 在所有 Java 提交中击败了100.00%的用户
内存消耗 :34.4 MB, 在所有 Java 提交中击败了100.00%的用户
1 class Solution {
2     public boolean isBoomerang(int[][] points) {
3         return (points[0][0] * (points[1][1] - points[2][1]) + points[1][0] * (points[2][1] - points[0][1]) + points[2][0] * (points[0][1] - points[1][1])) != 0;
4     }
5 }

猜你喜欢

转载自www.cnblogs.com/zccfrancis/p/12185358.html