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.
Input: coordinates = [[1,2],[2,3],[3,4],[4,5],[5,6],[6,7]] Output: true
Input: coordinates = [[1,1],[2,2],[3,4],[4,5],[5,6],[7,7]] Output: false
2 <= coordinates.length <= 1000
coordinates[i].length == 2
-10^4 <= coordinates[i][0], coordinates[i][1] <= 10^4
coordinates
contains no duplicate point.
impl Solution {
pub fn check_straight_line(coordinates: Vec<Vec<i32>>) -> bool {
let x0 = &coordinates[0][0];
let y0 = &coordinates[0][1];
let x1 = &coordinates[1][0];
let y1 = &coordinates[1][1];
for point in &coordinates[2..] {
let x = point[0];
let y = point[1];
if (y - y0) * (x1 - x0) != (x - x0) * (y1 - y0) {
return false;
}
}
true
}
}