LeetCode 587. 安装栅栏【凸包算法】【C++】【很多坑】
凸包算法不难理解,写代码的时候主要是几何上的判定条件很容易写错。
算法的总体思想是:
1.给所有的点排序,找出极点(纵坐标最小的点,如果纵坐标一样,取横坐标最小的点)
2.除了极点之外,所有其他的点排序,排序的方式是与极点之间的夹角从小到大(如果夹角一样大,取距离极点近的排在前面)
3.把极点和第二个点放进栈,判断第三个点是否在这两个点的左边,如果在左边,进栈,否则,让第二个点出栈,一直进...
原创
2020-04-29 11:49:58 ·
347 阅读 ·
0 评论