LeetCode 469. 凸多边形(向量叉积)

文章目录

    • 1. 题目
    • 2. 解题

1. 题目

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

注:
顶点个数至少为 3 个且不超过 10,000。
坐标范围为 -10,00010,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阿明),一起加油、一起学习进步!
Michael阿明

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/474414.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小案例:王者荣耀英雄对战python版代码(仅供娱乐)

直接上代码&#xff1a; #初始化用户信息 import randomprint("本比赛参赛英雄为&#xff1a;1老夫子 2典韦 3吕布") name int(input("请您选择出场英雄&#xff1a;"))if name 1:print("您本次选择的英雄为&#xff1a;老夫子——我会让你明白什么…

2016年10月计算机网络技术,2016年10月自考计算机网络技术练习题及答案(2)

2016年10月自考计算机网络技术练习题及答案(2)一、判断题(针对下面的描述&#xff0c;对的打‘√’&#xff0c;错的打‘X’)1.网络互联层的协议不包括ICMP协议.(错误)2.在同一个网络中&#xff0c;一个主机可有多个IP地址&#xff0c;多个主机也可同时使用一个IP地址.(错误)4.…

每日英语:Lighting: Twigs Shine in Home Decor

The humble twig is finding its way into high-end lighting. The sticks suggest rustic luxury -- think barn weddings and ski resorts -- but can also be found in modern interiors, giving spaces a clean, natural look. twigs:细枝&#xff0c;小树枝    high-e…

小案例:王者荣耀战绩查询系统代码赏析(自娱自乐)

直接上代码&#xff1a; #创建查询系统初始化信息 hero {} id 1000#创建初始化界面 def start():print("***"*9)print("欢迎您使用王者荣耀英雄查询系统&#xff1a;")print("***"*9)print("请按照以下提示信息进行操作&#xff1a;&quo…

LeetCode 1102. 得分最高的路径(优先队列BFS/极大极小化 二分查找)

文章目录1. 题目2. 解题2.1 优先队列BFS2.2 极大极小化 二分查找1. 题目 给你一个 R 行 C 列的整数矩阵 A。矩阵上的路径从 [0,0] 开始&#xff0c;在 [R-1,C-1] 结束。 路径沿四个基本方向&#xff08;上、下、左、右&#xff09;展开&#xff0c;从一个已访问单元格移动到任…

计算机语音未来发展趋势,语音助手横评:发展现状|未来展望

●语音助手现状Siri带动了业内人工智能语音的发展&#xff0c;各大手机厂商都纷纷推出自家的语音助手&#xff0c;不过总体来说&#xff0c;我们心中所期望的那个无所不能的人工智能机器人还是暂时没有办法出现。首先从国内的情况来看&#xff0c;我们使用语音助手的场景也大部…

说说 JavaScript 计时器的工作原理

原文&#xff1a;John Resig http://ejohn.org/blog/how-javascript-timers-work/ How JavaScript Timers Work 从基础的层面来讲&#xff0c;理解JavaScript的定时器是如何工作的是非常重要的。计时器的执行常常和我们的直观想象不同&#xff0c;那是因为JavaScript引擎是单…

LeetCode 1538. Guess the Majority in a Hidden Array

文章目录1. 题目2. 解题1. 题目 We have an integer array nums, where all the integers in nums are 0 or 1. You will not be given direct access to the array, instead, you will have an API ArrayReader which have the following functions: int query(int a, int b…

html5怎么跟安卓交互,html5怎么与android交互

满意答案Android中构建HTML5应用 使用WebView控件,与其他控件的使用方法相同在layout中使用一个标签,WebView不包括导航栏&#xff0c;地址栏等完整浏览器功能&#xff0c;只用于显示一个html. 在WebView中加载Web页面: (1)注意在manifest文件中加入访问互联网的权限&#xff1…

Attempt to write to a read-only database Sqlite

使用WCF做了一个中间层服务&#xff0c;准备把数据同步到Sqlite数据库中&#xff0c;在本地测试的时候没有问题&#xff0c;但放到服务器上却报出了 标题的错误。 StackOverFlow上说是数据库文件的权限问题&#xff0c;于是我把Users的写入权限分配给Users组&#xff0c;问题解…

LeetCode 1258. 近义词句子(哈希+并查集+排序+回溯)

文章目录1. 题目2. 解题1. 题目 给你一个近义词表 synonyms 和一个句子 text &#xff0c; synonyms 表中是一些近义词对 &#xff0c;你可以将句子 text 中每个单词用它的近义词来替换。 请你找出所有用近义词替换后的句子&#xff0c;按 字典序排序 后返回。 示例 1&#…

2022年计算机考研学校,2022计算机考研院校推荐

2022计算机考研院校推荐2022考研复习已经如火如荼的展开了&#xff0c;但是依然有很多同学没有确定好目标院校。计算机是许多考研学生青睐的考研专业&#xff0c;那么选择什么院校成为了关键。为了方便大家更好的择校&#xff0c;新东方在线考计算机研小编下面整理了计算机专业…

LeetCode 1066. 校园自行车分配 II(状态压缩DP)

文章目录1. 题目2. 解题2.1 回溯超时2.2 状态压缩DP1. 题目 在由 2D 网格表示的校园里有 n 位工人&#xff08;worker&#xff09;和 m 辆自行车&#xff08;bike&#xff09;&#xff0c;n < m。所有工人和自行车的位置都用网格上的 2D 坐标表示。 我们为每一位工人分配一…

Bootstrap(二)—格栅系统!

W(A*n)-i W是一个页面的总宽度&#xff0c;比如950px&#xff1b;而A代表一个版块的宽度&#xff0c;设置为apx&#xff1b;n就是分为几个版块&#xff1b;而i就是区块之间的间隔。 例如 950&#xff08;a*24&#xff09;-10 而a40px&#xff1b;改变A和i的值就会生成不同的布…

python中的面向对象:类与对象(重点!!!)

Python中重点与难点&#xff0c;必须熟练掌握&#xff01;&#xff01;&#xff01; 一、面向对象 1、面向对象概念 面向对象(Object Oriented,OO)是软件开发方法&#xff0c;是一种思想。面向对象的对象是指客观世界存在的事物。 我们之前编程所熟悉的思路叫做面向过程&am…

计算机设备报废流程图,报废流程图.ppt

报废流程图球拍現場報廢流程圖 輪二現場報廢流程圖 輪一、安全現場報廢流程圖 航醫報廢流程圖 討論后(現場掃真實報廢) 討論后(品保掃真實報廢) 球拍、輪二報廢後臺標記 1、mail_index 0:簽核完成 1:掃真實報廢完 2:送簽核鎖定 3:駁回狀態 4:發mial完鎖定 2、FLAG(航醫沒有用到…

LeetCode 625. 最小因式分解(贪心)

文章目录1. 题目2. 解题1. 题目 给定一个正整数 a&#xff0c;找出最小的正整数 b 使得 b 的所有数位相乘恰好等于 a。 如果不存在这样的结果或者结果不是 32 位有符号整数&#xff0c;返回 0。 样例 1 输入&#xff1a; 48 输出&#xff1a; 68样例 2 输入&#xff1a; 15…