1037. 有效的回旋镖
- 题目描述
- 解题思路
- 代码实现
题目描述
解题思路
没想到遇到一道纯数学题。
所谓的“有效的回旋镖”就是指所给的三个点不在同一条直线上。
- 由三个点可以计算得到两个向量
- 三个点不在同一条直线上,即两个向量不平行,即叉乘不为0。
代码实现
class Solution {
public boolean isBoomerang(int[][] points) {
//计算第一个向量
int x1=points[1][0]-points[0][0],y1=points[1][1]-points[0][1];
//计算第二个向量
int x2=points[2][0]-points[0][0],y2=points[2][1]-points[0][1];
//向量叉乘不为0
return (x1*y2-x2*y1)!=0;
}
}