一亩三分地论坛

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

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

Google 电面

[复制链接] |试试Instant~ |关注本帖
小小平民 发表于 2015-9-17 03:05:31 | 显示全部楼层 |阅读模式

2015(7-9月) 码农类 硕士 全职@Google - 内推 - 技术电面 |Otherfresh grad应届毕业生

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

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

x
刚刚结束Google电面,答得太烂了。要跪!

Q1: 给了一个map<int,int> int_map, 还给了一个function: bool predict(int val); 函数是判断val是不是int_map的一个key。 感觉这个给的很无力啊,用find不就解决了的问题?. from: 1point3acres.com/bbs
        让写一段循环语句,删除int_map里面有val作为key的。
        看上去简单,写的时候漏洞百出啊~大家可以写写看

Q2: 问C++的map 的insert函数的complexity是多少? O(logN)

Q3: Given 2D matrix, N*N, element ranging from 1 - N^2, no duplicate.
        return the length of longest consective path

Eg.  1 3 5.鐣欏璁哄潧-涓浜-涓夊垎鍦
       2 4 6. 1point3acres.com/bbs
       9 8 7. 1point 3acres 璁哄潧
    Should return 5 because path 5 6 7 8 9 has the longest path length;

评分

1

查看全部评分

本帖被以下淘专辑推荐:

宝贝忆彼岸 发表于 2015-9-17 09:06:48 | 显示全部楼层
atlas1017 发表于 2015-9-17 08:52
多谢 不过还是有点疑惑 按照我的理解滑雪不需要满足consecutive的条件? 楼主给出的例子应该return 6 ?  ...
. Waral 鍗氬鏈夋洿澶氭枃绔,
嗯,其实思路是一样的,就是判断此路径是否valid时候稍微变了一下,经典滑雪问题是只要四周比当前的value小就可以,这个题更为严格一些,要判断是否间隔是1
回复 支持 1 反对 0

使用道具 举报

hulahu 发表于 2015-9-17 03:20:00 | 显示全部楼层
第三道, 又滑雪。 blessed 楼主。
回复 支持 反对

使用道具 举报

宝贝忆彼岸 发表于 2015-9-17 03:25:45 | 显示全部楼层
感谢LZ分享,LZ能不能详细说一下第一题,是类似让implement一个HashMap吗?还是说可以直接用hashMap?
还有删除int_map里面有val作为key的是什么意思,我的理解是如果一个Integer是这个map里其中一个val那么就不能作为key,还是说key和val的值一样就不行?

补充内容 (2015-9-17 03:27):
还有第二题是经典的滑雪问题吧?给的element的range从1-N^2有没有什么作用?
回复 支持 反对

使用道具 举报

 楼主| 小小平民 发表于 2015-9-17 04:17:25 | 显示全部楼层
宝贝忆彼岸 发表于 2015-9-17 03:25
感谢LZ分享,LZ能不能详细说一下第一题,是类似让implement一个HashMap吗?还是说可以直接用hashMap?.1point3acres缃
还 ...
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
写一个循环而已,下面是我的解答:主要考虑的是删除之后指针要特殊处理一下。也可以有别的写法。
for (auto it=int_map.begin();it!=int_map.end();) {
    if (predict(it->first)) {
        auto cur = it;
        it++;. 1point 3acres 璁哄潧
        int_map.erase(cur);
        continue;
    } 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
    it++;
}

第二题就是那道 滑雪 问题!!!
回复 支持 反对

使用道具 举报

宝贝忆彼岸 发表于 2015-9-17 04:31:03 | 显示全部楼层
小小平民 发表于 2015-9-17 04:17.鏈枃鍘熷垱鑷1point3acres璁哄潧
写一个循环而已,下面是我的解答:主要考虑的是删除之后指针要特殊处理一下。也可以有别的写法。
for (au ...

恩,是不是就是说iterate这个map,然后每次判断当前的key是不是这个val,是就删去?
回复 支持 反对

使用道具 举报

 楼主| 小小平民 发表于 2015-9-17 04:34:36 | 显示全部楼层
宝贝忆彼岸 发表于 2015-9-17 04:31
恩,是不是就是说iterate这个map,然后每次判断当前的key是不是这个val,是就删去?

对啊,没什么技术含量
回复 支持 反对

使用道具 举报

宝贝忆彼岸 发表于 2015-9-17 04:42:55 | 显示全部楼层
小小平民 发表于 2015-9-17 04:34
对啊,没什么技术含量

恩,估计是想考map的iterator的和删除的写法
回复 支持 反对

使用道具 举报

hulahu 发表于 2015-9-17 05:08:37 | 显示全部楼层
http://www.geeksforgeeks.org/fin ... en-list-of-tickets/ 按这题, 弄个reverse map 就行了。
回复 支持 反对

使用道具 举报

storm_hair 发表于 2015-9-17 05:08:51 | 显示全部楼层
bool predict(int val) {. 鍥磋鎴戜滑@1point 3 acres
    return int_map.find(val)!=int_map.end();
}.鐣欏璁哄潧-涓浜-涓夊垎鍦

for(map<int, int>::iterator iter = int_map.begin();iter!=int_map.end();iter++) {
    if(iter->first == key) {
        int_map.erase(iter);
        break;
    }
}
这样子????
回复 支持 反对

使用道具 举报

 楼主| 小小平民 发表于 2015-9-17 05:22:58 | 显示全部楼层
storm_hair 发表于 2015-9-17 05:08
bool predict(int val) {
    return int_map.find(val)!=int_map.end();
}

map 里面的重复元素你没有处理。
回复 支持 反对

使用道具 举报

storm_hair 发表于 2015-9-17 06:11:50 | 显示全部楼层
小小平民 发表于 2015-9-17 05:22
map 里面的重复元素你没有处理。

map可以有重复元素?
回复 支持 反对

使用道具 举报

 楼主| 小小平民 发表于 2015-9-17 06:18:04 | 显示全部楼层
storm_hair 发表于 2015-9-17 06:11
map可以有重复元素?
. 1point 3acres 璁哄潧
题目是这么说的,remove duplicate ~
回复 支持 反对

使用道具 举报

douya 发表于 2015-9-17 06:29:02 | 显示全部楼层
第三题怎么做好呢? 直接DFS?
回复 支持 反对

使用道具 举报

kelvinzhong 发表于 2015-9-17 06:59:13 | 显示全部楼层
楼主觉得自己哪里写的不好啊?
回复 支持 反对

使用道具 举报

 楼主| 小小平民 发表于 2015-9-17 07:10:19 | 显示全部楼层
kelvinzhong 发表于 2015-9-17 06:59
楼主觉得自己哪里写的不好啊?

我post的是我最终版本,是经过interviewer提示若干次之后的版本,
之前的版本里面it++在循环里面,删除之后it就没了,我也没有单独用一个cur来存。出了问题。
回复 支持 反对

使用道具 举报

 楼主| 小小平民 发表于 2015-9-17 07:21:55 | 显示全部楼层
douya 发表于 2015-9-17 06:29
第三题怎么做好呢? 直接DFS?

可以参考leetcode的Longest Consecutive Sequence
区别是这个是二维的,你需要写一个函数来判断两个坐标是不是相邻。这个很好写。
要用到的hash table 是unordered_map<int,pair<int,int>> ht;
是matrix value -> coordinate -google 1point3acres
回复 支持 反对

使用道具 举报

atlas1017 发表于 2015-9-17 08:31:15 | 显示全部楼层
宝贝忆彼岸 发表于 2015-9-17 03:25
感谢LZ分享,LZ能不能详细说一下第一题,是类似让implement一个HashMap吗?还是说可以直接用hashMap?
还 ...

求教那个经典的滑雪问题是啥啊 多谢!
回复 支持 反对

使用道具 举报

storm_hair 发表于 2015-9-17 08:35:38 | 显示全部楼层
atlas1017 发表于 2015-9-17 08:31
求教那个经典的滑雪问题是啥啊 多谢!

http://poj.org/problem?id=1088
回复 支持 反对

使用道具 举报

atlas1017 发表于 2015-9-17 08:52:04 | 显示全部楼层
storm_hair 发表于 2015-9-17 08:35.鐣欏璁哄潧-涓浜-涓夊垎鍦
http://poj.org/problem?id=1088

多谢 不过还是有点疑惑 按照我的理解滑雪不需要满足consecutive的条件? 楼主给出的例子应该return 6 ? 多谢啦~

补充内容 (2015-9-17 08:52):
return 7。。。
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-10 15:33

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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