1.5 KiB
1.5 KiB
Leetcode Check-If-It-Is-a-Straight-Line
2022-07-27 11:38
Algorithms:
#algorithm #math
Difficulty:
#coding_problem #difficulty-easy
Additional tags:
#leetcode
Revisions:
N/A
Related topics:
Links:
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.
Examples
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
Thoughts
[!summary] This is a #math problem.
Many math problems can be simplified by:
- work out the expression
- Simplify it.
This is also true in this problem.
We want to calculate the k for every consecutive points, if they are the same, they are on one straight line.
By starting from the first, using them as the base k:
k = (dx0 - dx1) / (dy0 - dy1) = (dx - dx') / (dy - dy')
|
v
dx*yi - dy*xi = dx*y0 - dy*x0
Which is the cross product of these two points.
Solution
==#TODO: Fill this out==
WIP