Search⌘ K
AI Features

Solution: Check If It Is a Straight Line

Explore how to verify if a set of 2D points lies on a straight line by calculating slopes with a fixed reference point. Learn to use cross multiplication to avoid division errors, handle vertical lines, and implement an efficient O(n) time and constant space solution.

Statement

You are given an array, coordinates, where each element in coordinates[i] =[x,y]= [x, y] represents the coordinates of a point on a 2D\text{2D} plane. Determine whether all the points in the array lie on a single straight line in the XY plane.

Constraints:

  • 22 \leq coordinates.length 1000\leq 1000

  • coordinates[i].length ==2== 2

  • 104-10^4 \leq coordinates[i][0]coordinates[i][1] 104\leq 10^4

  • coordinates do not contain any duplicate points.

Solution

We need to determine whether a given array of coordinates in a 2D\text{2D} plane lies in a single straight line. This problem is approached using the Math and Geometry pattern, using the slope of a straight line.

Key intuition:

The slope represents the change in y-coordinates\text{y-coordinates} relative to the change in x-coordinates\text{x-coordinates} for any two points on the line. So, the slope between two points,  ...