文章目錄
- 題目
- 題解
題目
在一個 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
提示:
2 <= coordinates.length <= 1000coordinates[i].length == 2-10^4 <= coordinates[i][0], coordinates[i][1] <= 10^4coordinates中不含重復的點
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/check-if-it-is-a-straight-line
著作權歸領扣網路所有,商業轉載請聯系官方授權,非商業轉載請注明出處,
題解
class Solution {
public boolean checkStraightLine(int[][] coordinates) {
for (int i = 2;i < coordinates.length;i ++) {
if ((coordinates[1][1]-coordinates[0][1])*(coordinates[i][0]-coordinates[0][0])!=(coordinates[i][1]-coordinates[0][1])*(coordinates[1][0]-coordinates[0][0])) {
return false;
}
}
return true;
}
}
0ms 38MB
因為除法原因,有0的情況是不可以的,所以在網上找了有一個別人推導的公式,固定兩個點,再自己輸入第三個點的坐標,判斷是否是同一直線
更多題解點擊此處
學習交流q群:470464545,大家一起學習進步,CSDN博客:lolly1023
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/250213.html
標籤:java
上一篇:Java中獲取時間戳
下一篇:猜生日號數
