LeetCode-in-Java

1232. Check If It Is a Straight Line

Easy

You are given an array coordinates, coordinates[i] = [x, y], where [x, y] represents the coordinate of a point. Check if these points make a straight line in the XY plane.

Example 1:

Input: coordinates = [[1,2],[2,3],[3,4],[4,5],[5,6],[6,7]]

Output: true

Example 2:

Input: coordinates = [[1,1],[2,2],[3,4],[4,5],[5,6],[7,7]]

Output: false

Constraints:

Solution

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