求最大斜率算法

平面上N個點,沒兩個點都確定一條直線,求出斜率最大的那條直線所通過的兩個點(斜率不存在的情況不考慮)。時間效率越高越好

 

先把N個點按x排序。
斜率k最大值爲max(斜率(point[i],point[i+1])) 0<=i<n-2。
複雜度Nlog(N)。

 

 

無論多少個點都可以任意選三個點組成一個三角形,那麼斜率最大的邊肯定不是通過相鄰的兩個點,以此可知斜率最大的直線一點是由兩個相鄰的點畫出的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章