Search⌘ K
AI Features

Solution: Check If It Is a Straight Line

Explore how to verify if all given points lie on a straight line in a 2D plane by calculating slopes between points and using cross multiplication to avoid division errors. Understand slope properties and implement an efficient O(n) time complexity solution that handles vertical and horizontal lines without extra space.

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,  ...