算法题——有效的回旋镖
回旋镖定义为一组三个点,这些点各不相同且不在一条直线上。
给出平面上三个点组成的列表,判断这些点是否可以构成回旋镖。
解题思路:
1、要判断三点不在同一直线上,用两点间的斜率判断
2、除数不能为0,因此把除法变换为乘法。
class Solution {
public boolean isBoomerang(int[][] points) {
int x1=points[0][0];
int x2=points[1][0];
int x3=points[2][0];
int y1=points[0][1];
int y2=points[1][1];
int y3=points[2][1];
boolean i =((y2-y1)*(x3-x2)) == ((y3-y2)*(x2-x1));
return !i;
}
}