力扣:149. 直线上最多的点数(Python3)

news2025/1/18 11:42:14

题目:

给你一个数组 points ,其中 points[i] = [xi, yi] 表示 X-Y 平面上的一个点。求最多有多少个点在同一条直线上。

来源:力扣(LeetCode)
链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

示例:

示例 1:

输入:points = [[1,1],[2,2],[3,3]]输出:[0,1]
解释:3


示例 2:

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

解法:

遍历每个点,统计当前点和其它所有点的斜率,记录斜率最多的次数。

知识点:

1.round(number, digits):digits>0,四舍五入到指定的小数位;digits=0, 四舍五入到最接近的整数;digits<0 ,在小数点左侧进行四舍五入;如果round()函数只有number这个参数,等同于digits=0。四舍五入规则:要求保留位数的后一位<=4,则不进位;要求保留位数的后一位“>=6”,则进位;当精确位后面一位的数字是5的,此时需要看这个5后面是否还有值,如果5后面有值(0忽略),则直接进位,如果5后面没值或值为0,则需要判断5前面的值是偶数还是奇数,如果5前面是偶数,不进位,如果是奇数,进位。

代码:

from itertools import permutations
from collections import Counter, defaultdict


class Solution:
    def maxPoints(self, points: List[List[int]]) -> int:
        result = 0
        permutation = defaultdict(list)
        for p in permutations(points, 2):
            permutation[tuple(p[0])].append(p[1])
        for k, v in permutation.items():
            default = Counter([x1 for x1, y1 in v])[k[0]]
            result = max(max(list(Counter([round((y1 - k[1]) / (x1 - k[0]), 10) for x1, y1 in v if x1 != k[0]]).values()) + [0]), default, result)
        return result + 1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1171972.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

记一次heapdump泄漏获取服务器权限

文章目录 一、漏洞原因二、漏洞利用三、漏洞进一步利用1、工具下载2、通过关键字查询3、通过配置redis的默认账号和密码进行登录4、添加定时计划任务,进行反弹shell5、成功获取服务器的shell补充四、总结五、免责声明一、漏洞原因 扫描目录发现某个spring框架存在大量泄露信息…

DBeaver关闭代码的提示

在DBeaver中会遇到如下现象&#xff0c;很烦&#xff0c;怎么取消这个提示框呢&#xff1f; 解决方案&#xff1a;

第二章 02Java基础-数据类型、标识符、键盘录入

文章目录 前言一、数据类型二、标识符三、键盘录入总结前言 今天我们学习Java基础,数据类型、标识符、键盘录入 一、数据类型 1.数据类型大体上可以分为两类,一类是基本数据类型,另外一类是引用数据类型。今天我们学习基本数据类型。 2.基本数据类型可以分为四类八种,整…

一看就懂,原来这就是计算机网络

引言 计算机网络&#xff0c;听上去很专业的样子&#xff0c;其实我们可以换种思维来理解。 正文 什么是计算机网络&#xff1f; 下图就是计算机网络&#xff0c;所有能联网的设备连接在一起就组成了互联网 计算机网络有什么用&#xff1f; 计算机网络的作用就是用于设备之…

VueX mapState、mapGetters、mapActions和mapMutaions 的使用

一、mapState和mapGetters 如果我们想要读取VueX中的State数据的Getters数据时&#xff0c;需要使用$store.state.数据名 和 $store.getters.数据名。 当我们State和getters中的数据多了以后&#xff0c;书写会很麻烦&#xff1a; 如果我们想要使用方便可以配置计算属性来简化…

Arduino设置SoftwareSerial缓冲区大小

SoftwareSerial的缓冲区大小设置 概述修改缓冲区的大小实验 概述 新的Arduino的ESP8266软串口的缓冲区原来老的库中有宏定义可以用来修改接收和发送缓冲区的大小。在现在新的库中已经没有这个设置了&#xff0c;那怎么才能修改缓冲区的大小哪&#xff1f; 修改缓冲区的大小 …

5.2用队列实现栈(LC225-E)

算法&#xff1a; 其实这道题不用像上一道题一样&#xff0c;用两个队列实现栈。 由于队列的数据结构特性。用一个队列就可实现栈。 难点还是在出队的时候&#xff1a; 比如队列[1,2,3]&#xff0c;要模拟一个栈入栈就是直接append&#xff08;其实就是C中的push&#xff0…

creating server tcp listening socket 127.0.0.1:6379: bind No error

window下启动redis服务报错&#xff1a; creating server tcp listening socket 127.0.0.1:6379: bind No error 解决方案如下按顺序输入如下命令即可连接成功 redis-cli.exeshutdownexit运行&#xff1a;redis-server.exe redis.windows.conf shutdown出现以下错误&#xff…

数据结构之队的实现

&#x1d649;&#x1d65e;&#x1d658;&#x1d65a;!!&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦ &#x1f44f;&#x1f3fb;‧✧̣̥̇:Solitary-walk ⸝⋆ ━━━┓ - 个性标签 - &#xff1a;来于“云”的“羽球人”。…

变压器那些事

电磁感应 电磁感应效应是指当一个导体或线圈处于变化的磁场中时&#xff0c;会在导体或线圈中产生感应电动势或感应电流的现象。 根据法拉第电磁感应定律&#xff0c;当一个导体或线圈被置于变化的磁场中时&#xff0c;通过该导体或线圈的磁通量会发生变化&#xff0c;从而在…

零代码复现-TCGA联合GEO免疫基因结合代谢基因生信套路(一)

经过一段时间的积累&#xff0c;搭建的分析平台已经日渐进入稳定的状态&#xff0c;很多粉丝也在和我们反馈&#xff0c;让我们出一下零代码生信套路课。 小编找了很久&#xff0c;发现某某机构出的TCGA联合GEO 免疫基因代谢基因的生信套路&#xff0c;该套路应用常见相对来说…

【音视频 | opus】opus编码的Ogg封装文件详解

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…

【SpringCloud Alibaba -- Nacos】Linux 搭建 Nacos 集群

搭建 Nacos 集群 架构 centos安装docker https://docs.docker.com/engine/install/centos/ 详细配置过程 MySql8 mysql数据库配置 数据库脚本 nacos/conf/nacos-mysql.sql Nacos2 application.properties 修改为mysql spring.datasource.platformmysqldb.num1 db.url…

【算法挑战】字符的最短距离(含解析、源码)

821.字符的最短距离 https://leetcode-cn.com/problems/shortest-distance-to-a-character/ 821.字符的最短距离 题目描述解法 1&#xff1a;中心扩展法 思路复杂度分析代码 (JS/C) 解法 2&#xff1a;空间换时间 思路复杂度分析代码 (JS/C) 解法 3&#xff1a;贪心 思路复杂…

阿里大佬:DDD 领域层,该如何设计?

说在前面 在40岁老架构师 尼恩的读者交流群(50)中&#xff0c;最近有小伙伴拿到了一线互联网企业如阿里、滴滴、极兔、有赞、希音、百度、网易、美团的面试资格&#xff0c;遇到很多很重要的面试题&#xff1a; 谈谈你的DDD落地经验&#xff1f; 谈谈你对DDD的理解&#xff1f…

C语言 程序环境 编译和链接

目录 1.程序的翻译环境和执行环境 2.详解C语言程序的编译和链接 2.1翻译环镜 2.2翻译的几个阶段 2.2.1预编译 2.2.2编译 词法分析 符号汇总 2.2.3汇编 生成符号表 2.3链接 1.合并段表 2.合并符号表和重定位 2.4运行环境 1.程序的翻译环境和执行环境 在ANSI C的任…

【网络协议】聊聊DNS协议如何域名解析和负载均衡

DNS 服务器 我们知道如果使用IP地址进行访问网站&#xff0c;很难进行记忆&#xff0c;所以DNS的作用是将域名转换成对应的IP地址。如果全世界都使用同一台DNS服务器&#xff0c;那么DNS服务器本身需要保证服务的高可用、高性能&#xff0c;以及分布式等。最好的方式就是分层。…

日语动词三分类

所有的动词原形都是由う段结尾 50音图 一类动词 一类动词又称五段动词&#xff08;う段动词&#xff09; 1.结尾是う段非る的动词 ます形规律&#xff1a;う段 > 同行的い段ます 日文平假名ます形中文書くかく書きます写探すさがす探します寻找勝つかつ勝ちます胜利遊ぶ…

电脑报错找不到msvcp120dll,无法继续执行代码,怎么修复?

在运行电脑软件时&#xff0c;出现msvcp120.dll丢失&#xff0c;我深知大家在遇到这种电脑问题时所感受到的无助和焦虑。今天&#xff0c;我就来为大家分享一下关于msvcp120.dll文件缺失的4个一键解决方法&#xff0c;希望能帮助到大家。 首先&#xff0c;我们要明确什么是msv…

SecoClient连接报错:接收返回码超时

话接上回&#xff0c;SecoClient能打开了&#xff0c;但是出现了连接时的错误 这次针对接收返回码超时进行解决。 参考连接&#xff1a; https://www.cnblogs.com/Crazy-Liu/p/14700121.html https://blog.csdn.net/lnigluan511513/article/details/1280683581、正常我们进入…