《数据科学面试40+真题讲解》,K神本年度最后一次开课


一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投,内推你去多家公司面试
Airbnb 数据科学职位
in analytics and inference
天天打游戏、照样领工资,
你要不要来?
把贵司招聘信息放这里
查看: 692|回复: 3
收起左侧

MS店面1

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

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

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

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

x
巨硬店面   
.鏈枃鍘熷垱鑷1point3acres璁哄潧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.

(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
. visit 1point3acres.com for more.2. HashMap key:<slope, intersect>  values: Points that come across slope and intersect. n(n - 1) = n^2. more info on 1point3acres.com

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{
. From 1point 3acres bbs
}-google 1point3acres
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. 鍥磋鎴戜滑@1point 3 acres
Point A
Point B
b.x = a.x INT_MAX.鏈枃鍘熷垱鑷1point3acres璁哄潧
get slope
HashMap<Integer, Integer> map
key : slope value : count

public int maxPoints(List<Point> points) {.鐣欏璁哄潧-涓浜-涓夊垎鍦
    int result = 0;. more info on 1point3acres.com
    for(int i = 0; i < points.size(); i++) {
        int same = 1;. 1point3acres.com/bbs
        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) {
                same++;
            }else if(points.get(i).x == points.get(j).x) {. Waral 鍗氬鏈夋洿澶氭枃绔,
                map.get(Integer.MAX_VALUE)++;
            } 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);
        }.鏈枃鍘熷垱鑷1point3acres璁哄潧
        result = Math.max(max, result);
    }
    return result;
}.1point3acres缃

评分

1

查看全部评分

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

使用道具 举报

 楼主| wjf1990 发表于 2016-9-20 07:12:46 | 显示全部楼层
sherrychu 发表于 2016-9-20 06:33
这个是149. Max Points on a Line ?什么时候的电面?内推多久电的?谢谢
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
就是这题  今天下午的   我上周三LINKEDIN上找的HR
回复 支持 反对

使用道具 举报

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

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-11-20 13:58

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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