题目
给定一个数组 points ,其中 points[i] = [xi, yi] 表示 X-Y 平面上的一个点,如果这些点构成一个 回旋镖 则返回 true 。
回旋镖 定义为一组三个点,这些点 各不相同 且 不在一条直线上 。
示例
思路
判断三个点是否在一条直线上数学思路可以转换为斜率或者用向量
代码
bool isBoomerang(int** points, int pointsSize, int* pointsColSize){
int v1[2] = {points[1][0] - points[0][0], points[1][1] - points[0][1]};
int v2[2] = {points[2][0] - points[0][0], points[2][1] - points[0][1]};
return v1[0] * v2[1] - v1[1] * v2[0] != 0;
}
时间空间复杂度