码迷,mamicode.com
首页 > 其他好文 > 详细

Problem Max Points On a Line

时间:2014-07-07 16:55:19      阅读:281      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   color   strong   for   

Problem Description:

Given n points on a 2D plane, find the maximum number of points that lie on the same straight line.

Solution:

 1   public int maxPoints(Point[] points) {
 2      if (points.length <= 1) {
 3             return points.length;
 4         }
 5         Map<Double, Integer> map = new HashMap<Double, Integer>();
 6         int maxPoints = 0;
 7         for (int i = 0; i < points.length; i++) {
 8             map.clear();
 9             int samePointCount = 1;
10             int max = 0;
11             for (int j = i+1; j < points.length; j++) {
12                 if (points[i].x == points[j].x &&
13                     points[i].y == points[j].y) {
14                     samePointCount++;
15                 } else {
16                     double slope = Double.MAX_VALUE;
17                     if (points[i].y == points[j].y) {
18                         slope = 0;
19                     }
20                     else if (points[i].x != points[j].x) 
21                         slope = (points[i].y - points[j].y) / (double) (points[i].x - points[j].x);
22                     if (! map.containsKey(slope)) {
23                         map.put(slope, 1);
24                     } else {
25                         map.put(slope, map.get(slope)+1);
26                     }
27                 
28                     if (map.get(slope) > max) {
29                         max = map.get(slope);
30                     }
31                     
32                 }
33             }
34             if (max + samePointCount  > maxPoints) {
35                 maxPoints = max + samePointCount ;
36             }
37         }
38         return maxPoints;
39 
40     }

 

Problem Max Points On a Line,布布扣,bubuko.com

Problem Max Points On a Line

标签:des   style   blog   color   strong   for   

原文地址:http://www.cnblogs.com/liew/p/3815008.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!