1037. 有效的回旋镖

Posted zccfrancis

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 }

以上是关于1037. 有效的回旋镖的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 1037.有效的回旋镖:斜率 - 一行解决

LeetCode 1037 有效的回旋镖[数学] HERODING的LeetCode之路

Python描述 LeetCode 1037. 有效的回旋镖

制作像回旋镖一样的视频循环效果

LeetCode 678. 有效的括号字符串(贪心,动规) / 4. 寻找两个正序数组的中位数(二分,关键题) / 447. 回旋镖的数量

几何运用题