一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投,内推多家公司面试
Airbnb 数据科学职位
in analytics and inference
游戏初创公司
招聘工程师、Designer和游戏策划
游戏初创公司DreamCraft招聘工程师、UIUX Designer和游戏策划
电商初创公司Good Days
招聘SDE/UI/TPM实习生
把贵司招聘信息放这里
查看: 2794|回复: 3
收起左侧

[其他] 15行搞定leetcode难题max points on a line

[复制链接] |试试Instant~ |关注本帖
Linzertorte 发表于 2014-5-15 05:06:29 | 显示全部楼层 |阅读模式

2014(1-3月)-[12]CS硕士+fresh grad 无实习/全职 - Other| 码农类其他@

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?Sign Up 注册获取更多干货

x

评分

2

查看全部评分

writecoffee1 发表于 2014-6-14 12:58:42 | 显示全部楼层
Java 20 ~ 23 行也可以搞定了, hahahahahahahahahaha
  1. public int maxPoints(Point[] points) {
  2.     int n = points.length;
    .鏈枃鍘熷垱鑷1point3acres璁哄潧
  3.     int gMax = 0;

  4.     for (int i = 0; i < n; i++) {
  5.         HashMap<Double, Integer> h = new HashMap<Double, Integer>();
  6.         int lMax = 1, dup = 0;

  7.         for (int j = i + 1; j < n; j++) {. visit 1point3acres.com for more.
  8.             if (points[j].x == points[i].x && points[j].y == points[i].y) {
  9.                 dup++;-google 1point3acres
  10.             } else {
  11.                 double dx = points[j].x - points[i].x, dy = points[j].y - points[i].y;
  12.                 double slope = dx == 0.0 ? Integer.MAX_VALUE : 0.0 + dy / dx;
  13. .鏈枃鍘熷垱鑷1point3acres璁哄潧
  14.                 if (!h.containsKey(slope)) {
  15.                     h.put(slope, 1);
  16.                 }

  17.                 lMax = Math.max(lMax, h.put(slope, h.get(slope) + 1) + 1);
  18.             }
  19.         }

  20.         gMax = Math.max(lMax + dup, gMax);
  21.     }

  22.     return gMax;. Waral 鍗氬鏈夋洿澶氭枃绔,
  23. }
复制代码
回复 支持 1 反对 1

使用道具 举报

 楼主| Linzertorte 发表于 2014-5-15 05:07:01 | 显示全部楼层
  1. # Definition for a point
  2. # class Point:
  3. #     def __init__(self, a=0, b=0):.鏈枃鍘熷垱鑷1point3acres璁哄潧
  4. #         self.x = a
  5. #         self.y = b

  6. class Solution:
  7.     # @param points, a list of Points-google 1point3acres
  8.     # @return an integer
  9.     def maxPoints(self, points):
  10.         best = 0
  11.         for p in points:
  12.             angle_cnt=dict()
  13.             same = 0
  14.             lm = 0
  15.             for q in points:
  16.                 angle=math.atan2(p.y-q.y,p.x-q.x)
  17.                 if p.x==q.x and p.y==q.y:
  18.                     same += 1.鏈枃鍘熷垱鑷1point3acres璁哄潧
  19.                 else:
  20.                     angle_cnt[angle] = angle_cnt[angle]+1 if angle in angle_cnt else 1
  21.                     lm=max(lm,angle_cnt[angle])-google 1point3acres
  22.             best=max(best,same+lm)
  23.         return best
复制代码
一亩三分地严打"顶""好贴""收藏了"之类的垃圾回复帖!被警告三次,系统会自动封杀ID!.1point3acres缃

想支持楼主,请点击帖子下方的"好苗""分享""收藏"键,酌情给楼主加大米(系统不扣你自己的分)。
积分不够看不了帖子,请参考论坛导航里的"帮助","新手提纲"里有攒积分指南
回复 支持 1 反对 0

使用道具 举报

simonwoo 发表于 2017-1-8 07:03:00 | 显示全部楼层
回复 支持 反对

使用道具 举报

本版积分规则

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2018-1-17 01:55

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表