leetcode 1232 綴點成線

2021-10-06 07:23:31 字數 1152 閱讀 1182

1037. 有效的迴旋鏢

1232. 綴點成線

在乙個 xy 座標系中有一些點,我們用陣列 coordinates 來分別記錄它們的座標,其中 coordinates[i] = [x, y] 表示橫座標為 x、縱座標為 y 的點。

請你來判斷,這些點是否在該座標系中屬於同一條直線上,是則返回 true,否則請返回 false。

示例 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]]

輸出:false

class

solution

}return

true;}

double k =

(y2 - y1)

/(x2 - x1)

;double b = y1 - k * x1;

for(

int i =

2; i < coordinates.length; i++)}

return

true;}

}

判斷三點是否同直線,直接思路就是判斷斜率。

假設三點分別為a(x1, y1), b(x2, y2), c(xn,yn),

a、b兩點的斜率為 k1 = (y2 - y1) / (x2 - x1)

a、c兩點的斜率為 kn = (yn - y1) / (xn - x1)

如果在同一直線,則k1 = kn,考慮到分母為0 的情況,可以直接交叉相乘,省去判斷0的情況,直接判斷

(y2 - y1) * (xn - x1) 與 (yn - y1) * (x2 - x1),不相等即為不在同一直線上

遍歷(xn,yn)

class

solution

}return

true;}

}

1232 綴點成線

在乙個 xy 座標系中有一些點,我們用陣列 coordinates 來分別記錄它們的座標,其中 coordinates i x,y 表示橫座標為 x 縱座標為 y 的點。請你來判斷,這些點是否在該座標系中屬於同一條直線上,是則返回 true,否則請返回 false。示例 1 輸入 coordinat...

1232 綴點成線

在乙個 xy 座標系中有一些點,我們用陣列 coordinates 來分別記錄它們的座標,其中 coordinates i x,y 表示橫座標為 x 縱座標為 y 的點。請你來判斷,這些點是否在該座標系中屬於同一條直線上,是則返回 true,否則請返回 false。輸入 coordinates 1,...

2 LeetCode 1232 綴點成線

1232.綴點成線 難度簡單51 在乙個 xy 座標系中有一些點,我們用陣列coordinates來分別記錄它們的座標,其中coordinates i x,y 表示橫座標為x 縱座標為y的點。請你來判斷,這些點是否在該座標系中屬於同一條直線上,是則返回true,否則請返回false。示例 1 外鏈轉...