news 2026/6/29 18:02:28

经典算法实例:有效的回旋镖

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
经典算法实例:有效的回旋镖

我们先来看题目描述:

给定一个数组 points ,其中 points [ i ] = [ xi, yi ] 表示 X-Y 平面上的一个点,如果这些点构成一个回旋镖则返回 true 。

回旋镖定义为一组三个点,这些点各不相同且不在一条直线上 。

示例 1 :

输入:points = [[1,1],[2,3],[3,2]] 输出:true

示例 2 :

输入:points = [[1,1],[2,2],[3,3]] 输出:false

提示:

  • points.length == 3
  • points[i].length == 2
  • 0 <= xi, yi <= 100

解决方案

方法:向量叉乘

思路和算法计算从 points [0] 开始,分别指向 points [1] 和 points [2] 的向量 V1 和 V2 。「三点各不相同且不在一条直线上」等价于「这两个向量的叉乘结果不为零」:v1 + v2 ≠ 0

代码

Python3

class Solution: def isBoomerang(self, points: List[List[int]]) -> bool: v1 = (points[1][0] - points[0][0], points[1][1] - points[0][1]) v2 = (points[2][0] - points[0][0], points[2][1] - points[0][1]) return v1[0] * v2[1] - v1[1] * v2[0] != 0

C++

class Solution { public: bool isBoomerang(vector<vector<int>>& points) { vector<int> v1 = {points[1][0] - points[0][0], points[1][1] - points[0][1]}; vector<int> v2 = {points[2][0] - points[0][0], points[2][1] - points[0][1]}; return v1[0] * v2[1] - v1[1] * v2[0] != 0; } };

Java

class Solution { public boolean isBoomerang(int[][] points) { int[] v1 = {points[1][0] - points[0][0], points[1][1] - points[0][1]}; int[] v2 = {points[2][0] - points[0][0], points[2][1] - points[0][1]}; return v1[0] * v2[1] - v1[1] * v2[0] != 0; } }

复杂度分析

时间复杂度: O(1) 。

空间复杂度: O(1) 。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/29 17:54:48

2026沧州黄金回收白银回收铂金回收旧料回收怎么选?五家高实价铂金白银线下门店测评清单 + 联系方式

沧州的大街小巷&#xff0c;黄金回收、白银回收、铂金回收的招牌鳞次栉比&#xff0c;旧料回收市场鱼龙混杂&#xff0c;市民想要甄别靠谱变现渠道实属不易。为帮大家火眼金睛挑出诚信商户&#xff0c;小编实地走访多家门店&#xff0c;筛选出本地正规回收清单。收录商户既有连…

作者头像 李华
网站建设 2026/6/29 17:53:51

猫抓浏览器扩展:视频资源嗅探与下载的终极解决方案

猫抓浏览器扩展&#xff1a;视频资源嗅探与下载的终极解决方案 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 还在为无法保存网页视频而烦恼吗&am…

作者头像 李华
网站建设 2026/6/29 17:52:31

2026年企业安全运营中心建设:甲方视角下的实战指南

当前安全圈有一种论调特别流行&#xff1a;买SIEM、上SOAR、搞态势感知&#xff0c;就能建好安全运营中心。作为一个在甲方干了快10年安全的老兵&#xff0c;我负责任地说一句——全TM是扯淡。一、什么才是真正的安全运营中心SOC不是一套系统&#xff0c;不是一块大屏&#xff…

作者头像 李华
网站建设 2026/6/29 17:49:47

物理AI与“世界模型”:让机器不仅会“看”,更要会“想”

一、 事件回顾&#xff1a;AI从“聊天”到“干活”的惊险一跃在2026年夏季达沃斯的展览区内&#xff0c;一台人形机器人不紧不慢地为嘉宾制作了一杯拉花咖啡&#xff0c;动作流畅得像一位熟练的咖啡师&#xff1b;不远处&#xff0c;一只工业机械臂正在“调皮”地捕捉并模仿人类…

作者头像 李华
网站建设 2026/6/29 17:49:38

基于深度学习的蘑菇识别系统~Python+人工智能+模型训练+CNN算法

项目介绍 本项目是一个基于深度学习的蘑菇图像识别系统&#xff0c;主要面向常见蘑菇属类别的自动分类与结果管理需求。系统采用 Flask 构建 Web 服务端&#xff0c;通过蓝图划分图片上传、模型识别、历史记录查询和记录删除等接口&#xff0c;前端页面提供图片选择、上传预览…

作者头像 李华