一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 388|回复: 3
收起左侧

MS店面1

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

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

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

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

x
巨硬店面   
lc原题可惜没刷到
还是做出来了  
直接粘贴:
an array n points, each point (x,y).
class Point. 鍥磋鎴戜滑@1point 3 acres
{
public int x;
public int y;
}

List<Point> points.
y = ax + b 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
slope = a;
intersect = b;
Our goal : find a slope and intersect that has most points go across it..鏈枃鍘熷垱鑷1point3acres璁哄潧

(0,0), (0,1) (1,0).1point3acres缃

<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{

}
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.1point3acres缃
Point A. From 1point 3acres bbs
Point B. 1point3acres.com/bbs
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;. 1point 3acres 璁哄潧
        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) {
                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;
. more info on 1point3acres.com        for(Integer value : map.values) {
            max = Math.max(max, value);
        }
        result = Math.max(max, result);. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
    }
    return result;
}. Waral 鍗氬鏈夋洿澶氭枃绔,

评分

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 | 显示全部楼层
请问这是什么公司?
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

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

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-11 02:03

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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