博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LinkCode-最多有多少个点在一条直线上
阅读量:4155 次
发布时间:2019-05-25

本文共 677 字,大约阅读时间需要 2 分钟。

最多有多少个点在一条直线上

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

样例

给出4个点:(1, 2), (3, 6), (0, 0), (1, 3)。

一条直线上的点最多有3个。

问题分析:

可以根据A点跟其他点所构成线段的斜率判断与A点共线的点的个数.遍历所有点,取出最大值即可,
1.考虑重复点的情况.
2.考虑斜率为无穷大的情况.

import java.util.HashMap;//定义坐标点class Point {    int x;    int y;    Point() { x = 0; y = 0; }    Point(int a, int b) { x = a; y = b; }}public class Solution {//判断坐标点集是否为空    public int maxPoints(Point[] points) {        if(points==null||points.length==0){            return 0;        }//建立Hash表        HashMap
map= new HashMap
(); int max=1; for(int i=0;i
max){ max=temp+dup; } } } return max; }}

转载地址:http://svwxi.baihongyu.com/

你可能感兴趣的文章
【Python基础6】格式化字符串
查看>>
【Python基础7】字典
查看>>
【Python基础8】函数参数
查看>>
【Python基础9】浅谈深浅拷贝及变量赋值
查看>>
Jenkins定制一个具有筛选功能的列表视图
查看>>
【Python基础10】探索模块
查看>>
【Python】将txt文件转换为html
查看>>
[Linux]Shell脚本实现按照模块信息拆分文件内容
查看>>
idea添加gradle模块报错The project is already registered
查看>>
在C++中如何实现模板函数的外部调用
查看>>
在C++中,关键字explicit有什么作用
查看>>
C++中异常的处理方法以及使用了哪些关键字
查看>>
内存分配的形式有哪些? C++
查看>>
什么是内存泄露,如何避免内存泄露 C++
查看>>
栈和堆的空间大小 C++
查看>>
什么是缓冲区溢出 C++
查看>>
sizeof C++
查看>>
使用指针有哪些好处? C++
查看>>
引用还是指针?
查看>>
checkio-non unique elements
查看>>