题目地址(149.直线上最多的点数)(代码片段)

潜行前行 潜行前行     2022-12-04     335

关键词:

题目地址(149. 直线上最多的点数)

https://leetcode.cn/problems/max-points-on-a-line/

题目描述

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

 

示例 1:

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


示例 2:

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


 

提示:

1 <= points.length <= 300
points[i].length == 2
-104 <= xi, yi <= 104
points 中的所有点 互不相同

关键点

  • 斜率形同

代码

  • 语言支持:Java

Java Code:


class Solution 
    public int maxPoints(int[][] ps) 
        int ans = 0;
        for(int i=0;i<ps.length;i++)
            Map<String,Integer> map = new HashMap<>();
            int max = 0;
            for(int j=i+1;j<ps.length;j++)
                int x1 = ps[i][0] , y1 = ps[i][1], x2 = ps[j][0], y2 = ps[j][1];
                int a = x2 - x1, b = y2 - y1;
                int k = maxGcd(a,b);
                String key = (a/k)+"-"+(b/k);
                int tmp = map.getOrDefault(key,0)+1;
                map.put(key,tmp);
                max = Math.max(max,tmp);
            
            ans = Math.max(ans,max+1);
        
        return ans;
    
    int maxGcd(int a,int b)
        return b == 0 ? a: maxGcd(b,a % b);
    


leetcode第149题—直线上最多的点数—python实现(代码片段)

...多的点数自己代码的开源仓库:clickhere欢迎Star和Fork😃题目描述给你一个数组points,其中points[i]=[xi,yi]表示X-Y平面上的一个点。求最多有多少个点在同一条直 查看详情

leetcode第149题—直线上最多的点数—python实现(代码片段)

...多的点数自己代码的开源仓库:clickhere欢迎Star和Fork😃题目描述给你一个数组points,其中points[i]=[xi,yi]表示X-Y平面上的一个点。求最多有多少个点在同一条直 查看详情

leetcodeno.149直线上最多的点数(代码片段)

一、题目描述给你一个数组points,其中points[i]=[xi,yi]表示X-Y平面上的一个点。求最多有多少个点在同一条直线上。示例1:输入:points=[[1,1],[2,2],[3,3]]输出:3示例2:输入:points=[[1,1],[3,2],[5,3],[4,1],[2,3],[1,4]]输出:4提示:1<=points.l... 查看详情

leetcodeno.149直线上最多的点数(代码片段)

一、题目描述给你一个数组points,其中points[i]=[xi,yi]表示X-Y平面上的一个点。求最多有多少个点在同一条直线上。示例1:输入:points=[[1,1],[2,2],[3,3]]输出:3示例2:输入:points=[[1,1],[3,2],[5,3],[4,1],[2, 查看详情

leetcode149.直线上最多的点数(代码片段)

...xi,yi]表示X-Y平面上的一个点。求最多有多少个点在同一条直线上。 示例1:输入:points=[[1,1],[2,2],[3,3]]输出:3示例2:输入:points=[[1,1],[3,2],[5,3],[4,1],[2,3],[1,4]]输出:4 提示:1<=points.length<=300point 查看详情

leetcode0149.直线上最多的点数(代码片段)

【LetMeFly】149.直线上最多的点数力扣题目链接:https://leetcode.cn/problems/max-points-on-a-line/给你一个数组points,其中points[i]=[xi,yi]表示X-Y平面上的一个点。求最多有多少个点在同一条直线上。 示例1:输入:points=... 查看详情

149maxpointsonaline直线上最多的点数

给定二维平面上有n个点,求最多有多少点在同一条直线上。详见:https://leetcode.com/problems/max-points-on-a-line/description//***Definitionforapoint.*structPoint*intx;*inty;*Point():x(0),y(0)*Point(inta,intb):x(a),y(b)*;*/clas 查看详情

2021-09-03:直线上最多的点数。给你一个数组points,其中points[i]=[xi,yi]表示x-y平面上的一个点。求最多有多少个点在同一条直线上。力扣149。(代码片(代码片段)

2021-09-03:直线上最多的点数。给你一个数组points,其中points[i]=[xi,yi]表示X-Y平面上的一个点。求最多有多少个点在同一条直线上。力扣149。福大大答案2021-09-03:具体见代码。代码用golang编写。代码如下:packagem... 查看详情

maxpointsonaline(直线上最多的点数)(代码片段)

给定一个二维平面,平面上有 n 个点,求最多有多少个点在同一条直线上。示例1:输入:[[1,1],[2,2],[3,3]]输出:3解释:^||    o|  o| o +------------->0 1 2 34示例 2:输入:[[1,1],[3,2] 查看详情

数据结构与算法之深入解析“直线上最多的点数”的求解思路与算法示例(代码片段)

一、题目要求给你一个数组points,其中points[i]=[xi,yi]表示X-Y平面上的一个点,求最多有多少个点在同一条直线上。示例1:输入:points=[[1,1],[2,2] 查看详情

直线上最多的点数(代码片段)

classSolutionpublicintmaxPoints(int[][]points)if(points.length==1)return1;Map<Double,Integer>map=newHashMap<>();intmax=Integer.MIN_VALUE;for(int[]point1:points)for(int[]point2:points)doublek=(double)(point2[1]-point1[1])/(double)(point2[0]-point1[0]);map.put(k,map.get... 查看详情

直线上最多的点数(代码片段)

classSolutionpublicintmaxPoints(int[][]points)if(points.length==1)return1;Map<Double,Integer>map=newHashMap<>();intmax=Integer.MIN_VALUE;for(int[]point1:points)for(int[]point2:points)doublek=(double)(point2[1]-point1[1])/(double)(point2[0]-point1[0]);map.put(k,map.get... 查看详情

day4直线上最多的点数循环链表四数相加2(代码片段)

四数相加2对下一个题的方式有启发,使用dict存储后两个之和classSolution(object):deffourSumCount(self,A,B,C,D):Dict=foriinrange(len(C)):forjinrange(len(D)):ifC[i]+D[j]inDict:Dict[C[i]+D[j]]+=1else:Dict[ 查看详情

直线上最多的点数

给定一个二维平面,平面上有 n 个点,求最多有多少个点在同一条直线上。functionmaxPoints(points)if(points.length==1)return1letnumber=0for(leti=0;i<points.length-1;i++)letitem=points[i]for(letj=i+1;j<points.length;j++ 查看详情

直线交点数种类p2789直线交点数(代码片段)

题目平面上有N条直线,且无三线共点,那么这些直线能有多少不同的交点数?https://www.luogu.com.cn/problem/P2789题目分析我们将n条直线编号,分别称为直线1、直线2、…、直线n。直线2与直线1最多有一个交点,直线3与直线1和直线2... 查看详情

sql总体上最多的球员(2008年-2016年)(代码片段)

查看详情

poj-1054thetroublesomefrog模拟枚举优化。(代码片段)

...:有个R*C的格网。上面有若干个点,这些点可以连成一些直线,满足:这些点在直线上均匀排布(也就是间隔相等),直线的两段穿过网格(也就是第一个,最后一个在网格的边界附近)求某条直线上最多的点数题解:先排序,... 查看详情

leetcode刷题模版:141-150

...LRU缓存【未实现】147.对链表进行插入排序148.排序链表149.直线上最多的点数150.逆波兰表达式求值结语简介Hello!非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~ ଘ(੭ˊᵕˋ)੭昵称:海轰标签:程序猿|C++... 查看详情