class Solution:
def maxPoints(self, points: List[List[int]]) -> int:
n = len(points)
if n <= 2:
return n
res = 2
for i in range(n):
x1, y1 = points[i][0], points[i][1]
has = {}
for j in range(i + 1, n):
x2, y2 = points[j][0], points[j][1]
if x1 == x2:
a, b, c = 1, 0, -x1
elif y1 == y2:
a, b, c = 0, 1, -y1
else:
a = 1.0
b = 1.0 * (x1 - x2) / (y2 - y1)
c = 1.0 * (x1 * y2 - x2 * y1) / (y1 - y2)
if (a,b,c) in has.keys():
has[(a,b,c)]+=1
res = max(res,has[(a,b,c)])
else:
has[(a,b,c)] = 2
return res
相关文章
- 06-14高交会专题展—2024BTE第8届国际生物技术大会暨展览会
- 06-14Python | Leetcode Python题解之第149题直线上最多的点数-题解:
- 06-14机器学习的分类
- 06-14虚拟现实(VR)游戏与增强现实(AR)游戏的区别
- 06-14【SCAU数据挖掘】数据挖掘期末总复习题库选择题及解析
- 06-14Python学习笔记6:pychram相关知识及安装教程,后续需要学习的入门知识-最后
- 06-14旅游卡免费旅游的使用条件有哪些?
- 06-14没有特斯拉的开源专利,就没有中国电动车产业今天的成就?
- 06-14在 RISC-V 设计中发现可远程利用的漏洞
- 06-14二、electron 的 BrowserWindow 的属性