1232. 缀点成线
给定一个数组 coordinates ,其中 coordinates[i] = [x, y] , [x, y] 表示横坐标为 x、纵坐标为 y 的点。请你来判断,这些点是否在该坐标系中属于同一条直线上。
示例 1:
输入:coordinates = [[1,2],[2,3],[3,4],[4,5],[5,6],[6,7]]
输出:true
示例 2:
输入:coordinates = [[1,1],[2,2],[3,4],[4,5],[5,6],[7,7]]
解题代码如下:
bool checkStraightLine(int** coordinates, int coordinatesSize, int* coordinatesColSize){
int a1=coordinates[0][0]-coordinates[1][0],a2=coordinates[0][1]-coordinates[1][1];
int x=coordinates[0][0],y=coordinates[0][1];
for(int i=2;i<coordinatesSize;i++){
if((coordinates[i][0]-x)*a2!=(coordinates[i][1]-y)*a1){
return false;
}
}
return true;
}