文章目录

  • 1. 题目
  • 2. 解题

1. 题目

给定一个按顺序连接的多边形的顶点,判断该多边形是否为凸多边形

注:
顶点个数至少为 3 个且不超过 10,000。
坐标范围为 -10,000 到 10,000。
你可以假定给定的点形成的多边形均为简单多边形。
换句话说,保证每个顶点处恰好是两条边的汇合点,并且这些边 互不相交 。
示例 1:
[[0,0],[0,1],[1,1],[1,0]]
输出: True
解释:

示例 2:
[[0,0],[0,10],[10,10],[10,0],[5,5]]
输出: False
解释:

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/convex-polygon
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

平面向量 向量积 定义
【平面向量】向量的叉积与三角形的面积

  • 注意叉乘为0表示两个向量共线
[[0,0],[0,1],[1,1],[2,1],[2,2],[2,3],[3,3],[3,0]]
false
[[0,0],[1,0],[1,1],[-1,1],[-1,0]]
true

class Solution {public:bool isConvex(vector<vector<int>>& points) {long long cur, prev = 0;int i, n = points.size();long long x1, y1, x2, y2;for(i = 0; i < n; i++) {x1 = points[i][0]-points[(i+1)%n][0];y1 = points[i][1]-points[(i+1)%n][1];x2 = points[i][0]-points[(i+2)%n][0];y2 = points[i][1]-points[(i+2)%n][1];cur = x1*y2-x2*y1;if(cur != 0)//两向量不共线{if(cur*prev < 0)//跟上次的方向不一样return false;prev = cur;}}return true;}
};

64 ms 15.5 MB


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

LeetCode 469. 凸多边形(向量叉积)相关推荐

  1. 判断凸多边形(向量叉积运用)

    469. 凸多边形 - 力扣(LeetCode) 给定 X-Y 平面上的一组点 points ,其中 points[i] = [xi, yi] .这些点按顺序连成一个多边形. 如果该多边形为 凸 多边 ...

  2. 【2019西安ICPC邀请赛热身赛A hdu2036】求多(四)边形面积(四边形面积公式/向量叉积)

    这是热身赛的一道签到题,写博客的目的主要是熟悉一下向量点叉积的写法. (叉积求多边形面积:hdu2036,模版题) 题目: 解题思路: 四边形面积公式:(也适用于凹四边形) s=(m*n*sinA)/ ...

  3. 利用向量叉积求三角形的面积(+STL:nth_element求第K大的数)

    牛客寒假算法集训营2 https://ac.nowcoder.com/acm/contest/327/A A.处女座的签到题 题目描述 平面上有n个点,问:平面上所有三角形面积第k大的三角形的面积是多 ...

  4. hihoCoder1687(向量叉积)

    #1687 : 寻找切线 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定平面上N个点P1=(X1, Y1), P2=(X2, Y2), ... PN=(XN, YN ...

  5. 向量点积(Dot Product),向量叉积(Cross Product)

    参考的是<游戏和图形学的3D数学入门教程>,非常不错的书,推荐阅读,老外很喜欢把一个东西解释的很详细. 1.向量点积(Dot Product) 向量点积的结果有什么意义?事实上,向量的点积 ...

  6. 三维欧几里德空间中两个向量叉积的问题

    三维欧几里德空间中两个向量叉积的问题 定义 矩阵表示 几何意义 定义 两个向量 a和b仅在三维空间中有意义.定义为: a ⃗ ∗ b ⃗ = ∣ ∣ a ⃗ ∣ ∣ ∣ ∣ b ⃗ ∣ ∣ s i n ...

  7. 向量叉积与向量叉积的模的运算

    一:向量叉积 设两个点P(x1,y1,z1),Q(x2,y2,z2) 叉积PxQ=(y1z2-y2z1,x2z1-x1z2,x1y2-x2y1) 代码实现(vb.net封成一个函数): Private ...

  8. 向量叉积(Cross product)的几何意义及应用

    向量叉积 仅在三维空间,两个向量的叉积才有定义,记作 u ^ v 定义为: u ^ v = ||u|| ||v|| sin(θ) n 其中,θ表示u 和 v 的夹角, ||u|| 和 ||v|| 分别 ...

  9. 叉积的证明_向量叉积定义的证明

    前面写了一篇向量点积定义的证明,由于这个证明比较简单,所以也没有引起深入的思考.后来打算写一篇叉积的证明时,却发现有些东西真的不好理解. 设两个向量$\mathbf{a} = (x_1, y_1, z ...

最新文章

  1. Redis 概念以及底层数据结构
  2. 多模态任务新蓝海:视觉语言导航最新进展
  3. 「NLP」用于序列标注问题的条件随机场
  4. tensorflow和python先学哪个-前辈说先学会了这些Python知识点,再谈学习人工智能!...
  5. C#字典Dictionary排序(顺序、倒序)
  6. Mac快速显示桌面快捷键
  7. Autograd:自动求导
  8. 2015年第六届蓝桥杯C/C++ A组国赛 —— 第五题:切开字符串
  9. 程序语言的奥妙:算法解读 ——读书笔记
  10. Matcher类的简单使用
  11. 英雄无敌3高清 Android,安卓TOP10:《英雄无敌3》高清重制版上架
  12. 收藏 | 深度学习不确定性量化: 技术、应用与挑战
  13. 一道关于String的易错习题
  14. 原来“事务0丢失”是这样做到的
  15. 【LeetCode】【HOT】297. 二叉树的序列化与反序列化(BFS)
  16. 让shell终端和goland控制台输出彩色的文字
  17. JS获取指定月的前N个月数据
  18. Egret引擎的常用倒计时
  19. Seaborn 绘图中设置字体及大小
  20. Excel如何制作二级下拉菜单

热门文章

  1. Emmet的html语法
  2. 大学c语言程序设计大赛,关于举办宁夏大学第二届C语言程序设计大赛的通知
  3. python 递归函数与循环的区别_提升Python效率之使用循环机制代替递归函数
  4. 电子计算机可直接执行的指令机器内部是以,电子计算机可直接执行的指令在机器内部是以( )表示....
  5. 选购四轴飞行器的部件
  6. gunicorn 几种 worker class 性能测试比较
  7. Gulp-静态网页模块化
  8. [笔记] FireDAC DataSet 导入及导出 JSON
  9. java 3种单例模式
  10. Windows Phone 资源管理与换肤思考