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. 回旋镖的数量