587. Erect the Fence

题意:输出把所有点包围起来的轮廓线上的点

我的思路:凸包问题,Graham-Scan算法

我的代码:

class Solution {
public:static bool cmp(Point& a, Point& b) {if (a.y == b.y) return a.x < b.x;return a.y < b.y;}bool mult(Point sp, Point ep, Point op) {return (sp.x-op.x)*(ep.y-op.y) > (ep.x-op.x)*(sp.y-op.y);}vector<Point> outerTrees(vector<Point>& points) {int n = points.size();if (n <= 3) return points;sort(points.begin(), points.end(), cmp);vector<Point> ans;ans.push_back(points[0]);ans.push_back(points[1]);for (int i = 2; i < n; i++) {while (ans.size() > 1 && mult(points[i], ans[ans.size()-1], ans[ans.size()-2])) ans.pop_back();ans.push_back(points[i]);}int len = ans.size()-1;ans.push_back(points[n-2]);for (int i = n-3; i >= 0; i--) {while (ans.size()-1 != len && mult(points[i], ans[ans.size()-1], ans[ans.size()-2])) ans.pop_back();ans.push_back(points[i]);}ans.pop_back();return ans;}
};

View Code

转载于:https://www.cnblogs.com/hqxue/p/8352133.html

一刷leetcode——计算几何相关推荐

  1. 吴忠强:刷LeetCode的正确姿势!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:吴忠强,东北大学,Datawhale成员 写在前面 最近面试中做算 ...

  2. 惊了,AI已经学会刷LeetCode了!

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 梦晨 发自 凹非寺 量子位 报道 | 公众号 QbitAI 你在面试 ...

  3. 在IDE中刷LeetCode,编码调试一体化,刷题效率直线up!

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 明敏 发自 凹非寺 量子位 报道 | 公众号 QbitAI 还在为刷 ...

  4. 【前端来刷LeetCode】两数之和与两数相加

    大部分玩前端的小伙伴,在算法上都相对要薄弱些,毕竟调样式.调兼容就够掉头发的了,哪还有多余的头发再去折腾. 确实在前端中需要使用到算法的地方是比较少,但若要往高级方向发展,算法的基本功就非常重要啦.对 ...

  5. AI已经会刷LeetCode了

    梦晨 发自 凹非寺 量子位 报道 | 公众号 QbitAI 你在面试中会遇到的那种算法题,AI已经能自己解决了,比如下面这道题: 对于一个记录论文引用次数的数组,每个元素都是非负整数.请写出函数h_i ...

  6. 知乎高赞:985计算机视觉毕业后找不到工作怎么办?怒刷leetcode,还是另寻他路?

    [导读]985研究生,学计算机视觉,出来后找不到工作?新智元带你看看这个70万浏览量问题下的答案干货:找工作难,是因为前两年AI领域泡沫太大.然而,真正的人才什么时候都紧缺,搞扎实自己的基本功比什么都 ...

  7. python刷leetcode_零基础python刷leetcode -- 3. Longest Substring Without Repeating Characters

    算法很重要,但是每天也需要学学python,于是就想用python刷leetcode 的算法题,和我一起开始零基础python刷leetcode之旅吧.如有不对的地方,希望指正,万分感谢~~ 题目 最 ...

  8. 【算法】吴忠强:刷LeetCode的正确姿势!

    作者:吴忠强,东北大学,Datawhale成员 写在前面 最近面试中做算法题,受了打击,和我之前准备的很不一样.这篇文章通过笔试实战经验复盘我在刷LeetCode的一些误区和今后对策,供大家参考备战秋 ...

  9. vscode 上刷leetcode算法题(含配置)

    为什么选择在vscode 上刷leetcode 减少leetcode网页提交次数 提高"提交通过率" 轻量级的,易于debug的IDE 语法高亮美观 方便跑多个测试用例 调试链表, ...

最新文章

  1. CTFshow php特性 web92
  2. python中的简单while循环及逻辑运算符
  3. Winform中使用FastReport的DesignReport时怎样设置Table的size自动调整
  4. binder 进程间通讯关于handle一点疑问
  5. python之pydev安装
  6. svd奇异值分解_NCL专辑 | 奇异值分解(SVD)
  7. Kettle8.2输入组件之Get data from xml
  8. Oracle中文乱码(中文变问号?)解决方法---简单粗暴高效
  9. VMWare共享文件夹的使用
  10. 已知接入Internet的计算机用户名,计算机一级笔试试题及答案(1)
  11. 关于广义相对论与量子力学之我见
  12. 微信读书登陆界面java_(JAVA后端)微信小程序-毕设级项目搭建-微信阅读小程序(内含源码,微信小程序+java逻辑后台+vue管理系统)~不求完美,实现就好...
  13. css_radius-corner语法分析
  14. 各大主流招聘平台的优缺点和适合人群【总结】
  15. python2.7开发photoshop一些经验
  16. 对数函数定义域和值域_对数函数的定义域,值域是怎么求的
  17. 全球变暖的幕后真相.........
  18. SaaS从0到1,产品策略决定成败!
  19. python实现猫脸人嘴
  20. csu 1020 真三国无双

热门文章

  1. Nginx-location常用配置
  2. 第一个android程序HelloWorld
  3. SQLSERVER监控复制并使用数据库邮件功能发告警邮件
  4. http 403错误解决
  5. JSON与JAVA数据的转换
  6. matlab练习程序(图像区域分裂)
  7. 1.15 克隆虚拟机
  8. Java遍历对象所有属性
  9. redmine3.3.1安装与常用插件安装
  10. 微信公众号支付(二):统一下单