278.缀点成线
1232. 缀点成线 - 力扣(LeetCode)
class Solution {
public boolean checkStraightLine(int[][] coordinates) {
if(coordinates.length==2){
return true;
}
int x=coordinates[1][0]-coordinates[0][0];
int y=coordinates[1][1]-coordinates[0][1];
for(int i=1;i<coordinates.length;i++){
if((coordinates[i][0]-coordinates[i-1][0])*y!=(coordinates[i][1]-coordinates[i-1][1])*x){
return false;
}
}
return true;
}
}
class Solution:
def checkStraightLine(self, coordinates):
if len(coordinates) == 2:
return True
# 计算前两个点的差值
x = coordinates[1][0] - coordinates[0][0]
y = coordinates[1][1] - coordinates[0][1]
# 遍历所有点,检查斜率是否一致
for i in range(1, len(coordinates)):
dx = coordinates[i][0] - coordinates[i - 1][0]
dy = coordinates[i][1] - coordinates[i - 1][1]
if dx * y != dy * x: # 检查斜率是否相等
return False
return True