Problem#
給你 n
個座標 coordinate[i] = (x, y)
,問你能不能組成一條直線
測資限制#
- $2 \le n \le 1000$
- $-10^4 \le x, y \le 10^4 $
想法#
-
怎麼檢查點 $a$、$b$ 和 $c$ 是否在同一直線上?
- 計算 $(a, b)$ 和 $(b, c)$ 之間的斜率:如果 $s_ab = s_bc$,則它們在同一直線上。使用以下公式計算斜率:$s = \frac{y2 - y1}{x2 - x1}$。
-
時間複雜度: $\mathcal{O}(n\log{n})$
-
空間複雜度: $\mathcal{O}(1)$
AC Code#
- 步驟
- 按升序對點進行排序。
- 計算點
i
和i+1
的斜率。 - 如果所有斜率的值都相同,則表示輸入是一條直線。