回旋镖定义为一组三个点,这些点各不相同且不在一条直线上。
给出平面上三个点组成的列表,判断这些点是否可以构成回旋镖。
示例 1:
输入:[[1,1],[2,3],[3,2]]
输出:true
示例 2:
输入:[[1,1],[2,2],[3,3]]
输出:false
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/valid-boomerang/
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
# 求三点是否可构成一个三角形即可
# 已知三点求三角形面积公式:abs(x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2)) / 2
class Solution:
def isBoomerang(self, points: List[List[int]]) -> bool:
x = [i[0] for i in points] # 保存x点坐标
y = [i[1] for i in points] # 保存y点坐标
return 0 != abs(x[0] * (y[1] - y[2]) + x[1] * (y[2] - y[0]) + x[2] * (y[0] - y[1])) / 2