1232. Check If It Is a Straight Line

Difficulty:
Related Topics:
Similar Questions:

    Problem

    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 (Java)

    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;
        }
    }
    

    Explain:

    nope.

    Complexity: