微软的一道比较难的算法面试题,该如何解决
微软的一道比较难的算法面试题
平面上N个点,没两个点都确定一条直线,求出斜率最大的那条直线所通过的两个点(斜率不存在的情况不考虑)。时间效率越高越好
------解决方案--------------------
先把N个点按x排序。
斜率k最大值为max(斜率(point[i],point[i+1])) 0<=i<n-2。
复杂度Nlog(N)。
平面上N个点,没两个点都确定一条直线,求出斜率最大的那条直线所通过的两个点(斜率不存在的情况不考虑)。时间效率越高越好
------解决方案--------------------
先把N个点按x排序。
斜率k最大值为max(斜率(point[i],point[i+1])) 0<=i<n-2。
复杂度Nlog(N)。