讨论/题目交流/🏆 第 159 场力扣周赛/
🏆 第 159 场力扣周赛

欢迎小伙伴们在这里交流分享你的参赛心得以及体验。【前往竞赛

image.png

缀点成线
删除子文件夹
替换子串得到平衡字符串
规划兼职工作

第一题直接用方程式判断,直线方程的一般式 ax+by+c=0; 那么可以令a=y2-y1,则b=x1-x2,c=-ay1-by2;取两个点得到a,b,c,然后判断每个点代入方程是否成立即可;

class Solution {
public:
   bool checkStraightLine(vector<vector<int>>& coordinates) {
        int len=coordinates.size();
        if(len==2){
            return true;
        }
        //取两个点求a,b,c
        int a=coordinates[1][1]-coordinates[0][1];
        int b=coordinates[0][0]-coordinates[1][0];
        int c=-b*coordinates[0][1]-a*coordinates[0][0];
        //每个点代入方程进行计算判断方程成立于否
        for(int i=2;i<len;++i){
            if(a*coordinates[i][0]+b*coordinates[i][1]+c!=0){//判断 ax+by+c=0成立与否
                return false;//不满足方程
            }
        }
        return true;//全部满足
    }
};
展开全部 16 讨论