直线上最多的点数

Posted Alice_yufeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了直线上最多的点数相关的知识,希望对你有一定的参考价值。

class Solution 
    public int maxPoints(int[][] points) 
        if (points.length == 1) 
            return 1;
        
        Map<Double, Integer> map = new HashMap<>();
        int max = Integer.MIN_VALUE;
        for (int[] point1 : points) 
            for (int[] point2 : points) 
                double k = (double) (point2[1] - point1[1]) / (double) (point2[0] - point1[0]);
                map.put(k, map.getOrDefault(k, 0) + 1);
            
            for (Map.Entry<Double, Integer> entry : map.entrySet()) 
                max = Math.max(max, entry.getValue());
            
            map.clear();
        
        return max + 1;
    

以上是关于直线上最多的点数的主要内容,如果未能解决你的问题,请参考以下文章

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

LeetCode 0149. 直线上最多的点数

直线上最多的点数

直线上最多的点数

直线上最多的点数

直线上最多的点数