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 外鏈轉...