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<vector<int>>& 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;
    }
};
发布了44 篇原创文章 · 获赞 0 · 访问量 973

猜你喜欢

转载自blog.csdn.net/weixin_37748689/article/details/102662835