1037.有效的回旋镖

73 阅读1分钟

题目:
给定一个数组 points ,其中 points[i] = [xi, yi] 表示 X-Y 平面上的一个点,如果这些点构成一个 回旋镖 则返回 true 。

回旋镖 定义为一组三个点,这些点 各不相同 且 不在一条直线上 。
算法:

func isBoomerang(points [][]int) bool {
	// 在同一条直线时(y1 - y0)/(x1 - x0) == (y2 - y1)/(x2 - x1) 
	// 变形得到(y1 - y0) * (x2 - x1)  == (x1 - x0) * (y2 - y1)
	return (points[1][1] - points[0][1]) * (points[2][0] - points[1][0])  !=  (points[1][0] - points[0][0]) * (points[2][1] - points[1][1]) 
}