題目來源:https://leetcode-cn.com/problems/valid-boomerang/
回旋鏢定義為一組三個點,這些點各不相同且不在一條直線上。
給出平面上三個點組成的列表,判斷這些點是否可以構成回旋鏢。
示例 1:
輸入:[[1,1],[2,3],[3,2]]
輸出:true
示例 2:
輸入:[[1,1],[2,2],[3,3]]
輸出:false
提示:
points.length == 3
points[i].length == 2
0 <= points[i][j] <= 100
思路:
判斷三點是否共線,三點可以組成兩個向量(a, b), (c, d)。 若兩個向量共線,則有a = kc, b = kd 即滿足ad = bc。
class Solution:
def isBoomerang(self, points: List[List[int]]) -> bool:
p1,p2,p3 = points
return (p1[0] - p2[0]) * (p2[1] - p3[1]) != (p1[1] - p2[1]) * (p2[0] - p3[0])