一亩三分地论坛

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

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

Facebook intern 一面跪经

[复制链接] |试试Instant~ |关注本帖
木易wen 发表于 2016-2-17 04:27:34 | 显示全部楼层 |阅读模式

2016(1-3月) 码农类 硕士 实习@Facebook - 内推 - 技术电面 |Fail其他

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

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

x
刚刚面完。。一个女面试官,应该是个美国白人(没有3哥的口音),45分钟先扯了将近10分钟的自我介绍和项目介绍,然后开始做题。
完整题目如下:
Given a input of integers: {10, 555, 100000, 100, 9}. 鍥磋鎴戜滑@1point 3 acres
. 1point 3acres 璁哄潧
Given a categorizer function: enum cat(int input) = S, M, L
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
Output: {10, 9, 555, 100, 100000}

example of cat: < 100 S; else < 1000 M; else L


给1个数组,并根据给出的cat function将数组按小中大的范围重新排序后输出(S , M , L), 不要求相对范围内的顺序。

实际上就是sort color的变种,不过输出要原数组,并且要time O(n), space O(1)。lz上来就开了3个map去存数组直接被pass - -
最后在面试官交流和提醒下用了类似quick-selected的方法写完(估计一堆bug),完后就木有然后了。。

做出一道题应该是秒跪的节奏,发上来攒个rp吧,求亚麻offer. Waral 鍗氬鏈夋洿澶氭枃绔,

评分

3

查看全部评分

本帖被以下淘专辑推荐:

xiaozhuxiaozhu 发表于 2016-2-17 06:39:19 | 显示全部楼层
  1.         public  void sortm(int[] input)
  2.         {
  3.                 int index =0;
  4.                 int Sindex =0;.鏈枃鍘熷垱鑷1point3acres璁哄潧
  5.                 int Lindex =input.length-1;
  6.                 int temp =0;
  7.                
  8.                 while(index<=Lindex)
  9.                 {
  10.                         temp = input[index];
  11.                         if(input[index]<100)
  12.                         {
  13.                                 input[index] = input[Sindex];
  14.                                 input[Sindex] = temp;
  15.                                 Sindex++;
  16.                
  17.                                
  18.                         }
  19.                         . 1point 3acres 璁哄潧
  20.                         if(input[index]>1000).1point3acres缃
  21.                         { 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  22.                                 input[index] = input[Lindex];
  23.                                 input[Lindex] = temp;
  24.                                 index--;. 1point 3acres 璁哄潧
  25.                                 Lindex--;
  26.                         }
  27.                        
  28.                         index++;. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  29.                 }
  30.                 . 1point3acres.com/bbs
  31. 鏉ユ簮涓浜.涓夊垎鍦拌鍧.

  32.         }
复制代码
回复 支持 2 反对 0

使用道具 举报

beer 发表于 2016-2-17 04:41:03 | 显示全部楼层
这个不是LC的三色排序嘛,用Two Pointers,分别从两边开始扫,根据条件swap。
回复 支持 反对

使用道具 举报

beer 发表于 2016-2-17 04:43:03 | 显示全部楼层
楼主能详细讲讲quick-select的思路嘛?谢谢啦
回复 支持 反对

使用道具 举报

xiaozhuxiaozhu 发表于 2016-2-17 04:53:06 | 显示全部楼层
第1题是sort color的变形?
回复 支持 反对

使用道具 举报

iammajian 发表于 2016-2-17 05:24:56 | 显示全部楼层
是自己用数字比较大小判断猫属于哪个category,还是自己创建猫然后使用if (c == cat.S)这种来判断类别呢..?
回复 支持 反对

使用道具 举报

 楼主| 木易wen 发表于 2016-2-17 05:41:02 | 显示全部楼层
cat == category 这个方法是给你的 直接用来判断属于S,M或者L
回复 支持 反对

使用道具 举报

 楼主| 木易wen 发表于 2016-2-17 05:42:36 | 显示全部楼层
beer 发表于 2016-2-17 04:43
楼主能详细讲讲quick-select的思路嘛?谢谢啦

其实就是你说的思路,感觉和quick select有点像 我之前一直用开数组大法水过sort color,今天被无情打脸
回复 支持 反对

使用道具 举报

 楼主| 木易wen 发表于 2016-2-17 05:44:32 | 显示全部楼层
xiaozhuxiaozhu 发表于 2016-2-17 04:53
第1题是sort color的变形?

嗯 类似 不过sort color只有0 1 2
回复 支持 反对

使用道具 举报

singku 发表于 2016-2-17 06:29:01 | 显示全部楼层
啊 就是 3colors啊,先S,再从S+1选M, 剩下的就是L? O(n) O(1). 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
. more info on 1point3acres.com
补充内容 (2016-2-17 06:36):
[code]int i = 0, j = 0;
enum cat_t c[2] = { S, M};
for (int k = 0;  k < 2; k++) {
   for (j = i; j < n; j++) {
      if (cat(a[j]) != c[k]) continue;
      int tmp = a;
      a = a[j];
      ...
回复 支持 反对

使用道具 举报

singku 发表于 2016-2-17 06:37:12 | 显示全部楼层
singku 发表于 2016-2-17 06:29
啊 就是 3colors啊,先S,再从S+1选M, 剩下的就是L? O(n) O(1)

补充内容 (2016-2-17 06:36):
  1. int i = 0, j = 0;
  2. enum cat_t c[2] = { S, M};
  3. for (int k = 0;  k < 2; k++) {
  4.    for (j = i; j < n; j++) {
  5.       if (cat(a[j]) != c[k]) continue;
  6.       int tmp = a[i];
  7.       a[i] = a[j];. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  8.       a[j] = tmp;
  9.       i++;
  10.    }. 鍥磋鎴戜滑@1point 3 acres
  11. }
复制代码
回复 支持 反对

使用道具 举报

 楼主| 木易wen 发表于 2016-2-17 06:37:29 | 显示全部楼层
singku 发表于 2016-2-17 06:29
啊 就是 3colors啊,先S,再从S+1选M, 剩下的就是L? O(n) O(1)

补充内容 (2016-2-17 06:36):

嗯 这样也行。双指针那种就是loop一圈
回复 支持 反对

使用道具 举报

 楼主| 木易wen 发表于 2016-2-17 06:43:38 | 显示全部楼层
. 鍥磋鎴戜滑@1point 3 acres
正解~      
回复 支持 反对

使用道具 举报

returning 发表于 2016-2-21 14:01:33 | 显示全部楼层
楼主啊,这道题到底和sort color有什么区别啊,sort color不也是可以O(n)时间, O(1)space吗,as long as只有三种color
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-6 19:07

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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