題目: LeetCode - 1232. Check If It Is a Straight Line

題目說明

給一個陣列,元素代表在 2d 座標中的點,求裡面所有的點是否在同一條線上。

解題思路

數學題,判斷斜率即可。

參考解法

1
2
3
4
5
6
7
8
9
10
11
class Solution {
public:
bool checkStraightLine(vector<vector<int>>& coordinates) {
int n = coordinates.size();
int dx = coordinates[1][0] - coordinates[0][0], dy = coordinates[1][1] - coordinates[0][1];
for(int i = 2; i < n; ++i)
if(dy * (coordinates[i][0] - coordinates[0][0]) != dx * (coordinates[i][1] - coordinates[0][1]))
return false;
return true;
}
};