題目連結:
題目意譯:
給定你一個陣列 coordinates,其中 coordinates[i] = [x, y],而 [x, y] 代表著一個點的座標。檢查這些點是否形成一條直線於 XY 平面。
限制:
2 ≦ coordinates.length ≦ 1000
coordinates[i].length == 2
-10 ^ 4 ≦ coordinates[i][0] 、 coordinates[i][1] ≦ 10 ^ 4
coordinates 不包含任何重複的點。
範例測資:
範例 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
解題思維:
因為沒有重疊或重複的點,因此可以直接檢查任何相鄰兩點所產生的斜率是否一樣(類似
這題)或是檢查所有相鄰三點產生的叉積(Cross Product)是否都是 0 向量(如
這題)。
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。