ETH官方钱包

前往
大廳
主題

LeetCode - 1232. Check If It Is a Straight Line 解題心得

Not In My Back Yard | 2021-04-08 00:00:05 | 巴幣 0 | 人氣 292

題目連結:


題目意譯:
給定你一個陣列 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 向量(如這題)。




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

相關創作

更多創作