1037.Valid Boomerang

1037.Valid Boomerang

难度:Easy

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

三点共线是斜率的比较,可以直接采用一次方程通用公式,也可以直接比较斜率,注意一下特殊情况即可。

class Solution {
public:
    bool isBoomerang(vector<vector<int>>& points) {
        int a=points[1][1]-points[0][1];
        int b=points[1][0]-points[0][0];
        int c=points[2][1]- points[0][1];
        int d=points[2][0]-points[0][0];
      //  cout<<a<<" "<<b<<" "<<c<<" " << d<<endl;
        if(b && d)
        return a/float(b)!=c/float(d);
        else if(b)
            return c;
        else if (d)
            return a;
        else
            return false;
    }
};

执行用时 :4 ms, 在所有 C++ 提交中击败了92.14%的用户 内存消耗 :8.2 MB, 在所有 C++ 提交中击败了100.00%的用户

Last updated