class Solution:
def checkStraightLine(self, coordinates: List[List[int]]) -> bool:
dxs = set()
dys = set()
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 != 0:
dxs.add(dy / dx)
else:
dys.add(dx / dy)
return len(dxs) == 1 and len(dys) == 0 or len(dxs) == 0 and len(dys) == 1
直线斜率是唯一的,即任意两点之间的x和y的差值比例dy/dk 是唯一的,dy= 0和dx等于0比较特殊,dx = 0需要特殊处理;set 的集合长度为1,证明dy/dk 是唯一的,即是直线