Leetcode 1232.缀点成线(Check If It Is a Straight Line)

Leetcode 1232.缀点成线

1 题目描述(Leetcode题目链接)

  在一个 X Y XY XY 坐标系中有一些点,我们用数组 c o o r d i n a t e s coordinates coordinates 来分别记录它们的坐标,其中 c o o r d i n a t e s [ i ] = [ x , y ] coordinates[i] = [x, y] coordinates[i]=[x,y] 表示横坐标为 x x x、纵坐标为 y y y 的点。
  请你来判断,这些点是否在该坐标系中属于同一条直线上,是则返回 true,否则请返回 false。

Leetcode 1232.缀点成线(Check If It Is a Straight Line)_第1张图片

输入:coordinates = [[1,2],[2,3],[3,4],[4,5],[5,6],[6,7]]
输出:true

2 题解

  判断每个点与第一个点组成直线的斜率是否相等。

class Solution:
    def checkStraightLine(self, coordinates: List[List[int]]) -> bool:
        for i in range(2, len(coordinates)):
            a = (coordinates[1][1] - coordinates[0][1])*(coordinates[i][0] - coordinates[0][0])
            b = (coordinates[i][1] - coordinates[0][1])*(coordinates[1][0] - coordinates[0][0])
            if a != b:
                return False
        return True

你可能感兴趣的:(Leetcode)