题目形容
这是 LeetCode 上的 1037. 无效的盘旋镖 ,难度为 简略。
Tag :「计算几何」、「数学」
给定一个数组 points
,其中 $points[i] = [x_i, y_i]$ 示意 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 <= x_i, y_i <= 100$
计算几何
共三个点,别离应用两个点计算向量,随后判断向量叉积是否为 $0$。
代码:
class Solution {public boolean isBoomerang(int[][] ps) {return (ps[1][0] - ps[0][0]) * (ps[2][1] - ps[0][1]) != (ps[2][0] - ps[0][0]) * (ps[1][1] - ps[0][1]);
}
}
- 工夫复杂度:$O(1)$
- 空间复杂度:$O(1)$
最初
这是咱们「刷穿 LeetCode」系列文章的第 No.1037
篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,局部是有锁题,咱们将先把所有不带锁的题目刷完。
在这个系列文章外面,除了解说解题思路以外,还会尽可能给出最为简洁的代码。如果波及通解还会相应的代码模板。
为了不便各位同学可能电脑上进行调试和提交代码,我建设了相干的仓库:https://github.com/SharingSou…。
在仓库地址里,你能够看到系列文章的题解链接、系列文章的相应代码、LeetCode 原题链接和其余优选题解。
本文由 mdnice 多平台公布