LeetCode题解(1037):判断三个点是否为直线(Python)
发布日期:2021-06-29 19:55:16
浏览次数:3
分类:技术文章
本文共 794 字,大约阅读时间需要 2 分钟。
题目:(简单)
解法 | 时间复杂度 | 空间复杂度 | 执行用时 |
---|---|---|---|
Ans 1 (Python) | – | – | 44ms (59.85%) |
Ans 2 (Python) | – | – | 48ms (37.45%) |
Ans 3 (Python) |
LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。
解法一(距离法):
def isBoomerang(self, points: List[List[int]]) -> bool: a = pow((points[0][0] - points[1][0]) ** 2 + (points[0][1] - points[1][1]) ** 2, 0.5) b = pow((points[0][0] - points[2][0]) ** 2 + (points[0][1] - points[2][1]) ** 2, 0.5) c = pow((points[1][0] - points[2][0]) ** 2 + (points[1][1] - points[2][1]) ** 2, 0.5) return not max([a, b, c]) * 2 == sum([a, b, c])
解法二(斜率法):
def isBoomerang(self, points: List[List[int]]) -> bool: x1, y1 = points[0][0], points[0][1] x2, y2 = points[1][0], points[1][1] x3, y3 = points[2][0], points[2][1] return not (x3 - x1) * (y2 - y1) == (x2 - x1) * (y3 - y1)
转载地址:https://dataartist.blog.csdn.net/article/details/107102182 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2024年04月11日 07时17分09秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
智能表单一键分发,快速收集信息
2019-04-30
爱用建站电商系统助力企业线上营销
2019-04-30
做完微信小程序的小白,现在开始赚钱了
2019-04-30
小程序掘金时代
2019-04-30
如何运营好小程序让更多的顾客成为自己的客户
2019-04-30
opencv编译运行demo碰到的问题
2019-04-30
opencv中imread读取二值图
2019-04-30
UAT测试和SIT测试
2019-04-30
adb常用命令
2019-04-30
线程死锁、数据库死锁、慢sql、长事务等性能问题
2019-04-30
我奶奶都能懂java泛型
2019-04-30
欧美企业必备技能-Mockito
2019-04-30
我奶奶都能懂java异常
2019-04-30
Array.prototype.slice.call(arguments,0)含义
2019-04-30
15.三数之和---javascript版
2019-04-30
Cron表达式知识整理
2019-04-30
如何去除百度地图、高德地图api的logo和版本信息
2019-04-30
javascript 如何将字符串时间转换为毫秒数进行比较
2019-04-30
纯CSS实现分栏宽度拉伸调整
2019-04-30