1232. Check if It Is a Straight Line

1232. Check If It Is a Straight Line #

题目 #

  • 给定一个数组 coordinates ,其中 coordinates[i] = [x, y][x, y] 表示横坐标为 x、纵坐标为 y 的点。请你来判断,这些点是否在该坐标系中属于同一条直线上。

思路 #

模拟 #

代码 #

模拟 #

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

致谢 #

u