Search⌘ K
AI Features

Solution: Check If It Is a Straight Line

Explore how to determine whether a set of points in a 2D plane lie on a single straight line by using slope calculations and cross-multiplication to avoid division errors. Understand the approach to compare slopes efficiently and handle edge cases, helping you apply this pattern to solve geometry coding challenges confidently.

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, (x1,y1)(x_1,y_1) and (x2,y2)(x_2,y_2), is defined as:

                                                 slope=ΔYΔX=y2y1x2x1\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\text{slope}=\dfrac{ΔY}{ΔX}=\dfrac{y_2−y_1}{x_2−x_1} ...