【通知】7月22,工业界资深数据科学家教你破解各大公司面试!


一亩三分地论坛

 找回密码
 获取更多干活,快来注册

一亩三分地官方iOS手机应用下载
查看: 584|回复: 3
收起左侧

MS店面1

[复制链接] |试试Instant~ |关注本帖
wjf1990 发表于 2016-9-20 06:05:32 | 显示全部楼层 |阅读模式

2017(7-9月) 码农类 博士 全职@巨硬 - 网上海投 - 技术电面 |Otherfresh grad应届毕业生

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

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

x
巨硬店面   
lc原题可惜没刷到
还是做出来了  
直接粘贴:
an array n points, each point (x,y).
class Point
{
public int x;
public int y;
}
. Waral 鍗氬鏈夋洿澶氭枃绔,
List<Point> points.
y = ax + b
slope = a;
intersect = b;
Our goal : find a slope and intersect that has most points go across it.
-google 1point3acres
(0,0), (0,1) (1,0)

<0, 1>
Idea: 1. For every pair of points, get slope and intersect of line that across these two points. n^2
2. HashMap key:<slope, intersect>  values: Points that come across slope and intersect. n(n - 1) = n^2

3. Loop value set of map, pick the one with most points in it; n(n-1) n ^2
Time: O(n^2) Space: O(n^2). 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
Pair{

}. 鍥磋鎴戜滑@1point 3 acres
Improving space:
Idea: Instead of storing pairs:
       store 2 Points in hashMap
       for every points in these 2 points:
       if(p1, p2) (p2, p3) p1, p2, p3

Improvement :
1. See if the slope is same
Point A
Point B
. visit 1point3acres.com for more.b.x = a.x INT_MAX
get slope
HashMap<Integer, Integer> map
key : slope value : count

public int maxPoints(List<Point> points) {
    int result = 0;.鐣欏璁哄潧-涓浜-涓夊垎鍦
    for(int i = 0; i < points.size(); i++) {
        int same = 1;
        HashMap<float, Integer> map = new HashMap<>();
        for(int j = i + 1; j < points.size(); j++) {
            if(points.get(i).x == points.get(j).x && points.get(i).y == points.get(j).y) {. 1point 3acres 璁哄潧
                same++;
            }else if(points.get(i).x == points.get(j).x) {. more info on 1point3acres.com
                map.get(Integer.MAX_VALUE)++;. more info on 1point3acres.com
            } else {
                float slope = (points.get(i).y - points.get(j).y) / (points.get(i).x - points.get(j).y);
                map.get(slope)++;
            }
    }
    int max = 0;
        for(Integer value : map.values) {
            max = Math.max(max, value);
        }
        result = Math.max(max, result);
    }
    return result;
}.1point3acres缃

评分

1

查看全部评分

sherrychu 发表于 2016-9-20 06:33:35 | 显示全部楼层
关注一亩三分地公众号:
Warald_一亩三分地
这个是149. Max Points on a Line ?什么时候的电面?内推多久电的?谢谢
回复 支持 反对

使用道具 举报

 楼主| wjf1990 发表于 2016-9-20 07:12:46 | 显示全部楼层
关注一亩三分地微博:
Warald
sherrychu 发表于 2016-9-20 06:33
这个是149. Max Points on a Line ?什么时候的电面?内推多久电的?谢谢
. From 1point 3acres bbs
就是这题  今天下午的   我上周三LINKEDIN上找的HR
回复 支持 反对

使用道具 举报

shuiguo 发表于 2016-9-20 10:41:34 | 显示全部楼层
请问这是什么公司?
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-7-22 09:20

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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