题目描述
在一个 XY 坐标系中有一些点,我们用数组 coordinates 来分别记录它们的坐标,其中 coordinates[i] = [x, y] 表示横坐标为 x、纵坐标为 y 的点。

请你来判断,这些点是否在该坐标系中属于同一条直线上,是则返回 true,否则请返回 false。

解题思路
斜率相等===y2-y1/x2-x1=y3-y2/x3-x2
但是由于除***除不尽或者有除数为0的更多限制
所以转换为乘法<==> (y2-y1)(x3-x2)==(y3-y2)(x2-x1)
运行结果
图片说明
java代码

class Solution {
    public boolean checkStraightLine(int[][] coordinates) {
        for(int i=1;i<coordinates.length-1;i++){
            if((coordinates[i][0]-coordinates[i-1][0])*(coordinates[i+1][1]-coordinates[i][1]) != (coordinates[i][1]-coordinates[i-1][1])*(coordinates[i+1][0]-coordinates[i][0])){
                return false;
            }
        }
        return true;
    }
}