Python描述 LeetCode 1037. 有效的回旋镖
  dlFRkqrAwlEV 2023年11月02日 35 0


Python描述 LeetCode 1037. 有效的回旋镖

  大家好,我是亓官劼(qí guān jié ),在【亓官劼】公众号、GitHub、B站等平台分享一些技术博文,主要包括前端开发、python后端开发、小程序开发、数据结构与算法、docker、Linux常用运维、NLP等相关技术博文,时光荏苒,未来可期,加油~

  如果喜欢博主的文章可以关注博主的个人公众号【亓官劼】(qí guān jié),里面的文章更全更新更快。如果有需要找博主的话可以在公众号后台留言,我会尽快回复消息.

Python描述 LeetCode 1037. 有效的回旋镖_leetcode

本文原创为【亓官劼】(qí guān jié ),请大家支持原创,部分平台一直在恶意盗取博主的文章!!! 全部文章请关注微信公众号【亓官劼】。

题目

给定一个数组 ​​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​

Python描述

第一想法是求前两个点的直线然后看看第三个点是否在的,后面问题还蛮多的。官方题解这个向量叉乘的方法很赞

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


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
dlFRkqrAwlEV
最新推荐 更多