平面上N个点,没两个点都确定一条直线,求出斜率最大的那条直线所通过的两个点(斜率不存在的情况不考虑)。时间效率越高越好。
先把N个点按x排序。
斜率k最大值为max(斜率(point[i],point[i+1])) 0 <=i <n-2。
复杂度Nlog(N)。
以3个点为例,按照x排序后为ABC,假如3点共线,则斜率一样,假如不共线,则可以证明AB或BC中,
一定有一个点的斜率大于AC,一个点的斜率小于AC。
先把N个点按x排序。
斜率k最大值为max(斜率(point[i],point[i+1])) 0 <=i <n-2。
复杂度Nlog(N)。
以3个点为例,按照x排序后为ABC,假如3点共线,则斜率一样,假如不共线,则可以证明AB或BC中,
一定有一个点的斜率大于AC,一个点的斜率小于AC。
找最大斜率
本文介绍了一种高效算法,用于从平面上N个点中找出斜率最大的直线,并给出了具体实现思路,通过先对点进行排序,然后计算相邻点之间的斜率来确定最大斜率。
8009

被折叠的 条评论
为什么被折叠?



