leetcode 5230 Check If It Is a Straight Line

https://leetcode-cn.com/problems/check-if-it-is-a-straight-line/

判断一堆点是不是共线的。前两个点求 y=kx+b 的方程。对每个点看看在不在这个方程上。

class Solution {
public:
    bool checkStraightLine(vector>& co) {
        int ans = 0;
        int a = co[1][1] - co[0][1];
        int b = co[0][0] - co[1][0];
        int c = -a * co[0][0] - b * co[0][1];
        for(int k = 0; k < co.size(); k++)
        {
            int x = co[k][0];
            int y = co[k][1];
            if(a * x + b * y + c != 0) return false;
        }
        return true;
    }
};

 

你可能感兴趣的:(leetcode)