LeetCode 1232. Check If It Is a Straight Line Solution in Java, C++, Python & Go | Explanation + Code

CoderIndeed
0
1232. Check If It Is a Straight Line

Description

You are given an integer 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:

  • 2 <= coordinates.length <= 1000
  • coordinates[i].length == 2
  • -10^4 <= coordinates[i][0], coordinates[i][1] <= 10^4
  • coordinates contains no duplicate point.

Solutions

Solution 1: Mathematics

The time complexity is O(n), where n is the length of the coordinates array. The space complexity is O(1).

PythonJavaC++Go
class Solution: def checkStraightLine(self, coordinates: List[List[int]]) -> bool: x1, y1 = coordinates[0] x2, y2 = coordinates[1] for x, y in coordinates[2:]: if (x - x1) * (y2 - y1) != (y - y1) * (x2 - x1): return False return True(code-box)

Post a Comment

0Comments

Post a Comment (0)

#buttons=(Accept !) #days=(20)

Our website uses cookies to enhance your experience. Check Now
Accept !