max-points-on-a-line java code
来源:互联网 发布:下沙淘宝代运营骗局 编辑:程序博客网 时间:2024/05/16 18:43
Given n points on a 2D plane, find the maximum number of points that lie on the same straight line.
/** * Definition for a point. * 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) { //关键在于判断三点共线,两平行直线有且只有一个交点,所以有一个中间点,这个中间点与另外两个端点的连线的斜率相等 //由比率的性质 int ABx; int ABy; int BCx; int BCy; if(points.length<=2) return points.length; int max=2;//用来记录最大个数 for(int i=0;i<points.length;i++){ int num=0; int temp=1; for(int j=i+1;j<points.length;j++){ ABx=points[i].x-points[j].x; ABy=points[i].y-points[j].y; if(ABx==0 && ABy==0)//表示出现重复点 { num++; }else{ temp++; for(int k=j+1;k<points.length;k++){ BCx=points[j].x-points[k].x; BCy=points[j].y-points[k].y; if(ABx*BCy==BCx*ABy){//表示两个斜率相等,转化为乘积的形式可以避免分母为0的情况 temp++; } } } if(max<(num+temp)){ max=num+temp; } temp=1; } } return max; }}
阅读全文
0 0
- max-points-on-a-line java code
- CODE 146: Max Points on a Line
- [Leetcode] Max Points on a Line (Java)
- LeetCode:Max Points on a Line (Java)
- Max Points on a Line (Java)
- Max Points on a Line
- Max Points on a Line
- Max Points on a Line
- Max Points on a Line
- Max Points on a Line
- Max Points on a Line
- Max Points On a Line
- Max Points on a Line
- Max Points on a Line
- Max Points on a Line
- max points on a line
- Max Points on a Line
- Max Points on a Line
- 阿里云天池医疗AI大赛第一季迎来最后决赛,医疗AI面临哪些机遇与阻碍
- 【案例】融360:智能金融系统建设最佳实践案例
- 【POJ 3107 】Godfather 【树的重心】
- TMUX CAFFE等小技巧
- 静态成员变量成员函数
- max-points-on-a-line java code
- c++11的新特性---基于范围的for循环
- javascript执行上下文、作用域与闭包(第六篇)---闭包
- unity shader学习笔记(一)——基础光照之标准光照模型定义
- 从零开始前端学习[37]:爱心心跳动画和3d盒子动画效果示例
- win10安装IIS时报错windows无法请求的更改,错误代码0x8007057解决办法2017年10月15日
- python爬虫: 从 指定路径 爬取 文件
- 3. Longest Substring Without Repeating Characters(最长无重复字串)
- ns-3的c++代码规范