摘要:题目链接不会,参考这个博客的解释计算三个点的法向量叉乘,任意三个点必须同正或同负。这样判断三点组成的两边角度是否小于。注意考虑度的情况,这时候叉乘为。
469. Convex Polygon
题目链接:https://leetcode.com/problems...
不会,参考这个博客的解释:
http://www.cnblogs.com/grandy...
计算三个点的法向量(叉乘),任意三个点必须同正或同负。这样判断三点组成的两边角度是否小于180。注意考虑90度的情况,这时候叉乘为0。
public class Solution { public boolean isConvex(List> points) { int prev = 0; int n = points.size(); for(int i = 0; i < n; i++) { // check the angle constructed by (p0, p1) and (p0, p2) List
p0 = points.get(i); List p1 = points.get((i + 1) % n); List p2 = points.get((i + 2) % n); int dx1 = p0.get(0) - p1.get(0), dx2 = p0.get(0) - p2.get(0); int dy1 = p0.get(1) - p1.get(1), dy2 = p0.get(1) - p2.get(1); int cur = getProduct(dx1, dx2, dy1, dy2); // product different if((prev < 0 && cur > 0) || (prev > 0 && cur < 0)) return false; prev = (cur == 0 ? prev : cur); } return true; } private int getProduct(int dx1, int dx2, int dy1, int dy2) { return dx1 * dy2 - dx2 * dy1; } }
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/76398.html
摘要:业务背景物流同城配送,在用户下单的时候会进行配送超区校验,前端会将用户的定位传入后台服务,后台服务针对商家的自定义配送区域通过地图控件拖拽出来的不规则图形进行校验。 业务背景 物流同城配送,在用户下单的时候会进行配送超区校验,前端会将用户的定位传入后台服务,后台服务针对商家的自定义配送区域(通过地图控件拖拽出来的不规则图形)进行校验。 showImg(https://segmentfa...
摘要:难度系数普通关键词前言看到网站做的很炫,想要借鉴,发现主要是用的实现的,兼容不好,因此想着用实现下。实现思路根据参考网站的代码,动物图案是用实现的,第一时间想到了的另外对于转场动画,过渡动画,找个自己熟悉的动画库实现就行了。 难度系数:普通关键词:GSAP SVG 前言 看到species网站做的很炫,想要借鉴,发现主要是用css3的clip-path实现的,兼容不好,因此想着用js...
摘要:最小外接矩形外接矩形计算对一个凸多边形进行外接矩形计算,需要知道当前面的最大和最小值,即可获得外接矩形最小外接矩形计算对凸多边形的每一条边都绘制一个外接矩形求最小面积。 最小外接矩形 外接矩形计算 对一个凸多边形进行外接矩形计算,需要知道当前面的最大xy 和最小xy值,即可获得外接矩形 showImg(https://segmentfault.com/img/remote/146000...
摘要:官网效果脚本地图中心点昆明地图缩放层级缩放禁止双击放大版权切片图层地址绘制区域单击移动清除双击移除事件保存方便后面删除请入名称键盘事件键拖动 leaflet官网:http://leafletjs.com/ 效果:showImg(https://segmentfault.com/img/bVOmeX?w=546&h=351); 脚本: var map = L.map(map, { ...
阅读 2175·2021-11-25 09:43
阅读 1145·2021-11-23 09:51
阅读 3479·2021-11-23 09:51
阅读 3600·2021-11-22 09:34
阅读 1459·2021-10-09 09:43
阅读 2100·2019-08-30 15:53
阅读 3143·2019-08-30 14:07
阅读 550·2019-08-28 18:14