Leetcode--149. 直线上最多的点数

给定一个二维平面,平面上有 n 个点,求最多有多少个点在同一条直线上。

示例 1:

输入: [[1,1],[2,2],[3,3]]
输出: 3
解释:
^
|
|        o
|     o
|  o  
+------------->
0  1  2  3  4
示例 2:

输入: [[1,1],[3,2],[5,3],[4,1],[2,3],[1,4]]
输出: 4
解释:
^
|
|  o
|     o        o
|        o
|  o        o
+------------------->
0  1  2  3  4  5  6

提交的代码:

class Solution {

    public int maxPoints(int[][] points) {

    if (points.length < 3) {

        return points.length;

    }

    int res = 0;

    //遍历每个点

    for (int i = 0; i < points.length; i++) {

        int duplicate = 0;

        int max = 0;//保存经过当前点的直线中,最多的点

        HashMap<String, Integer> map = new HashMap<>();

        for (int j = i + 1; j < points.length; j++) {

            //求出分子分母

            int x = points[j][0] - points[i][0];

            int y = points[j][1] - points[i][1];

            if (x == 0 && y == 0) {

                duplicate++;

                continue;

 

            }

            //进行约分

            int gcd = gcd(x, y);

            x = x / gcd;

            y = y / gcd;

            String key = x + "@" + y;

            map.put(key, map.getOrDefault(key, 0) + 1);

            max = Math.max(max, map.get(key));

        }

        //1 代表当前考虑的点,duplicate 代表和当前的点重复的点

        res = Math.max(res, max + duplicate + 1);

    }

    return res;

}

 

private int gcd(int a, int b) {

    while (b != 0) {

        int temp = a % b;

        a = b;

        b = temp;

    }

    return a;

}

}

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

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

相关文章

生态位构建-一种普遍的主动进化

来源&#xff1a;混沌巡洋舰人类正在塑造地球上生命进化的未来。我们不仅造成了大规模的物种灭绝&#xff0c;我们还迫使动物、植物和真菌适应我们的人造世界: 例如&#xff0c;城市鸟类现在唱得更高了&#xff0c;因为这种音调似乎有助于它们的歌声传递交通的声音。但是&#…

[引] 如何在Matlab中得到透明背景的图片?

% you created a figure and it is “current”. % the following, you could have guessed set(gcf,‘color’,‘none’); set(gca,‘color’,‘none’); % but this following little detail took me ages to figure out set(gcf,‘InvertHardCopy’,‘off’); 作者&#xf…

Openstack入门篇(十一)之neutron服务(控制节点)的部署与测试

1.Neutron的介绍 Neutron 为整个 OpenStack 环境提供网络支持&#xff0c;包括二层交换&#xff0c;三层路由&#xff0c;负载均衡&#xff0c;防火墙和 *** 等。Neutron 提供了一个灵活的框架&#xff0c;通过配置&#xff0c;无论是开源还是商业软件都可以被用来实现这些功能…

Leetcode--139. 单词拆分

给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict&#xff0c;判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。 说明&#xff1a; 拆分时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。 示例 1&#xff1a; 输入: s "leetcode…

【物理方程】物理学中最难的方程之一,你知道多少?

来源&#xff1a;数学中国物理学是一门包含许多方程式的学科&#xff0c;这些方程描述了从微观世界粒子的行为到宏观宇宙的演化。在所有的物理方程中&#xff0c;有一组在数学上被认为极具挑战性&#xff0c;还被克莱数学研究所列为七个“千禧年大奖问题”之一&#xff0c;它们…

SSL/TLS 配置

Quick Start 下列说明将使用变量名 $CATALINA_BASE 来表示多数相对路径所基于的基本目录。如果没有为 Tomcat 多个实例设置 CATALINA_BASE 目录&#xff0c;则 $CATALINA_BASE 就会设定为 $CATALINA_HOME 的值&#xff0c;也就是你安装 Tomcat 的目录。 在 Tomcat 中安装并配置…

在LaTex中引用图片失败,出现(??)怎么办

查了一些博客&#xff0c;发现是加图片或是表格标签时出的问题&#xff1a; 一般来说图片会命名&#xff1a;\caption{图片名}. 要想引用成功, 必须要把标签加在图片命名之后&#xff1a;即 \caption{Name} \label{Label_Name}

Leetcode--27. 移除元素

给定一个数组 nums 和一个值 val&#xff0c;你需要原地移除所有数值等于 val 的元素&#xff0c;返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 元素的顺序可以改变。你不需要考虑数组中超出新…

2021年10个激动人心的工程里程碑

来源&#xff1a;IEEE电气电子工程师未来智能实验室的主要工作包括&#xff1a;建立AI智能系统智商评测体系&#xff0c;开展世界人工智能智商评测&#xff1b;开展互联网&#xff08;城市&#xff09;云脑研究计划&#xff0c;构建互联网&#xff08;城市&#xff09;云脑技术…

设置 sideload Outlook Add-ins

上期&#xff0c;我们讲到了用前端技术去建立一个outlook add-ins 我们今天来讲解一下怎样测试一个sideload outlook add-ins。 1. 我们需要登录Outlook在Office 365中。 2. 选择右上角设置按钮&#xff0c;然后选择Manage add-ins选项 3. 打开manage add-in的页面之后&#xf…

用户体验已成过去时 AI要从公民乃至社会的角度去思考问题

来源&#xff1a;Venture Beat作者&#xff1a;Jarno M. Koponen编译&#xff1a;科技行者时至今日&#xff0c;科技巨头及其基于AI的数字平台与解决方案&#xff0c;完全有能力影响全球领导人、民族国家、跨国企业、全球股市乃至每位个人的命运。目前&#xff0c;各大主要数字…

Leetcode--523. 连续的子数组和

给定一个包含非负数的数组和一个目标整数 k&#xff0c;编写一个函数来判断该数组是否含有连续的子数组&#xff0c;其大小至少为 2&#xff0c;总和为 k 的倍数&#xff0c;即总和为 n*k&#xff0c;其中 n 也是一个整数。 示例 1: 输入: [23,2,4,6,7], k 6 输出: True 解释…

css比较特殊选择器汇总(持续更新)

1、css选择器中加号&#xff08;&#xff09;是啥意思&#xff1f; 加号&#xff08;&#xff09;为&#xff1a;相邻同胞选择器&#xff0c;如果需要选择紧接在另一个元素后的元素&#xff0c;而且二者有相同的父元素&#xff0c;可以使用相邻兄弟选择器(Adjacent sibling sel…

《自然》:深度学习超分辨显微成像方法

来源&#xff1a;清华大学自动化系2021年1月21日&#xff0c;中国人工智能学会理事长、中国工程院院士、清华大学自动化系、清华大学脑与认知科学研究院戴琼海课题组与中国科学院生物物理所李栋课题组在《自然•方法》&#xff08;Nature Methods&#xff09;杂志发表了题为光学…

Leetcode--164. 最大间距

给定一个无序的数组&#xff0c;找出数组在排序之后&#xff0c;相邻元素之间最大的差值。 如果数组元素个数小于 2&#xff0c;则返回 0。 示例 1: 输入: [3,6,9,1] 输出: 3 解释: 排序后的数组是 [1,3,6,9], 其中相邻元素 (3,6) 和 (6,9) 之间都存在最大差值 3。 示例 2: …

人工肌肉重大突破登上 Science!多国科学家联合实现全新驱动机

来源&#xff1a;雷锋网作者&#xff1a;付静2021 年&#xff0c;机器人已经「成精」了&#xff0c;公然吵架、组团热舞再也不是愚蠢的人类专属。然鹅在很多人心里&#xff0c;机器人还是僵硬、机械甚至冰冷的。即便如此&#xff0c;技术日新月异&#xff0c;柔性机器人快速发展…

Leetcode--442. 数组中重复的数据

给定一个整数数组 a&#xff0c;其中1 ≤ a[i] ≤ n &#xff08;n为数组长度&#xff09;, 其中有些元素出现两次而其他元素出现一次。 找到所有出现两次的元素。 你可以不用到任何额外空间并在O(n)时间复杂度内解决这个问题吗&#xff1f; 示例&#xff1a; 输入: [4,3,2…

【HAOI2010】工厂选址题解

题目描述 某地区有m座煤矿&#xff0c;其中第i号矿每年产量为ai吨&#xff0c;现有火力发电厂一个&#xff0c;每年需用煤b吨&#xff0c;每年运行的固定费用&#xff08;包括折旧费&#xff0c;不包括煤的运费&#xff09;为h元&#xff0c;每吨原煤从第i号矿运到原有发电厂的…

盘点|应用落地,构建城市“大脑”

来源&#xff1a;IDC圈北京&#xff1a;“云”建智慧之都“全国政治中心、文化中心、国际交往中心、科技创新中心……”城市战略定位下的北京正处在落实首都城市战略定位、建设国际一流和谐宜居之都的关键时期。2020年初&#xff0c;新冠疫情爆发&#xff0c;北京市政府快速响应…

Leetcode--289. 生命游戏

根据百度百科&#xff0c;生命游戏&#xff0c;简称为生命&#xff0c;是英国数学家约翰何顿康威在1970年发明的细胞自动机。 给定一个包含 m n 个格子的面板&#xff0c;每一个格子都可以看成是一个细胞。每个细胞具有一个初始状态 live&#xff08;1&#xff09;即为活细胞…