算法算法提高之LeetCode刷题

1037. 有效的回旋镖(Python)

2019-06-05  本文已影响0人  玖月晴

更多精彩内容,请关注【力扣简单题】

题目

难度:★★☆☆☆
类型:集合,二维数组

题目

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

给出平面上三个点组成的列表,判断这些点是否可以构成回旋镖。

提示
points.length == 3
points[i].length == 2
0 <= points[i][j] <= 100

示例

示例 1
输入:[[1,1],[2,3],[3,2]]
输出:true

示例 2
输入:[[1,1],[2,2],[3,3]]
输出:false

解答

我们只需要判断三个点能否组成一个三角形即可,这里使用三角形的面积公式。

class Solution:
    def isBoomerang(self, points):
        """
        :param points: List[List[int]]
        :return: bool
        """
        (x1, y1), (x2, y2), (x3, y3) = points
        return (x1 * y2 + x2 * y3 + x3 * y1 - y1 * x2 - y2 * x3 - y3 * x1) != 0

如有疑问或建议,欢迎评论区留言~

上一篇 下一篇

猜你喜欢

热点阅读