美文网首页
LeetCode 1037. Valid Boomerang (

LeetCode 1037. Valid Boomerang (

作者: LiNGYu_NiverSe | 来源:发表于2020-11-07 00:01 被阅读0次

    A boomerang is a set of 3 points that are all distinct and not in a straight line.
    Given a list of three points in the plane, return whether these points are a boomerang.

    Example 1:
    Input: [[1,1],[2,3],[3,2]]
    Output: true

    Example 2:
    Input: [[1,1],[2,2],[3,3]]
    Output: false

    Note:
    points.length == 3
    points[i].length == 2
    0 <= points[i][j] <= 100

    Solution:

    class Solution:
        def isBoomerang(self, points: List[List[int]]) -> bool:
            A, B, C = points
            AB = ((A[0] - B[0])**2 + (A[1] - B[1])**2) ** 0.5
            BC = ((B[0] - C[0])**2 + (B[1] - C[1])**2) ** 0.5       
            CA = ((C[0] - A[0])**2 + (C[1] - A[1])**2) ** 0.5
            return (AB < CA + BC) and (BC < CA + AB) and (CA < AB + BC)
    

    Explaination:
    This problem can be interpreted as whether these 3 points can make a triangle. So we just need to check if the sum of length of two sides is always greater than the length of the third one.

    相关文章

      网友评论

          本文标题:LeetCode 1037. Valid Boomerang (

          本文链接:https://www.haomeiwen.com/subject/gozxbktx.html