May 2009 - May 2017 论坛八周年-你的足迹,我的骄傲


一亩三分地论坛

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

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

Linkedin phone interview

[复制链接] |试试Instant~ |关注本帖
mututu 发表于 2016-10-8 13:26:12 | 显示全部楼层 |阅读模式

2016(7-9月) 码农类 硕士 全职@Linkedin - 内推 - 技术电面 |Fail在职跳槽

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

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

x
题目是Shortest Word Distance

followup: two word distance 改成three word distance, 目的是让三个word相互之间的distance和最小. Waral 鍗氬鏈夋洿澶氭枃绔,
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
最优解当场没想出来,当场想到的是two pointer往里收缩。每次移动left/right pointer中一个,直到停在三个target word中的一个。每挪动其中一个ponter,检查第三个word存不存在two pointer之间。时间复杂度的话,不用额外的memory,应该是O(n^2)吧

最优解应该只需要从左往右走一边就行。

评分

2

查看全部评分

XavierWangXY 发表于 2016-10-8 13:35:44 | 显示全部楼层
关注一亩三分地公众号:
Warald_一亩三分地
从左往右 分别记录三个word最后出现的index 然后 distance和 取最大值?
回复 支持 反对

使用道具 举报

 楼主| mututu 发表于 2016-10-8 13:38:14 | 显示全部楼层
关注一亩三分地微博:
Warald
嗯,应该是的
回复 支持 反对

使用道具 举报

say543 发表于 2016-10-8 14:26:21 | 显示全部楼层

. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
如果w1 w2 w3 都重复 要输出为0吗? 最近也要面linkedlin 怕没坑了 thanks 指教....
回复 支持 反对

使用道具 举报

bbsbbstry 发表于 2016-10-8 23:21:28 | 显示全部楼层
请问楼主怎么拿到的面试啊
回复 支持 反对

使用道具 举报

 楼主| mututu 发表于 2016-10-9 05:55:17 | 显示全部楼层
say543 发表于 2016-10-8 14:26. from: 1point3acres.com/bbs
如果w1 w2 w3 都重复 要输出为0吗? 最近也要面linkedlin 怕没坑了 thanks 指教....

当时有想到duplicate的问题,跟面试官讨论,说先不考虑duplicate,写完再加。后来写完代码时间差不多, 就没考虑duplicate
回复 支持 反对

使用道具 举报

 楼主| mututu 发表于 2016-10-9 05:55:31 | 显示全部楼层
bbsbbstry 发表于 2016-10-8 23:21
请问楼主怎么拿到的面试啊

找同学的同学refer的
回复 支持 反对

使用道具 举报

bananapancake 发表于 2016-10-9 10:35:57 | 显示全部楼层
不懂,这个三个词的做法和两个词的做法能有不同吗?应该是一样的啊
回复 支持 反对

使用道具 举报

say543 发表于 2016-10-9 13:51:10 | 显示全部楼层
mututu 发表于 2016-10-9 05:55
当时有想到duplicate的问题,跟面试官讨论,说先不考虑duplicate,写完再加。后来写完代码时间差不多,  ...


谢楼主 如果没有duplicate 扫依次 因该能说 , 有duplicate就相对麻烦了
  有可能w1 =w2 or w2 =w3 就看题目怎分析了
回复 支持 反对

使用道具 举报

virpro 发表于 2016-10-13 06:15:15 | 显示全部楼层
bananapancake 发表于 2016-10-9 10:35
不懂,这个三个词的做法和两个词的做法能有不同吗?应该是一样的啊

对啊,就是update index的时候麻烦一点,方法是一样的吧。
回复 支持 反对

使用道具 举报

say543 发表于 2016-10-13 14:36:04 | 显示全部楼层
virpro 发表于 2016-10-13 06:15
对啊,就是update index的时候麻烦一点,方法是一样的吧。
. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
能上个考虑w1=w2 or w1=w2=w3 的代码吗? thanls 思路有点乱...
回复 支持 反对

使用道具 举报

say543 发表于 2016-10-14 02:44:12 | 显示全部楼层
  1.   public int shortestDistance(String[] words, String word1, String word2, String word3) {
  2. .鏈枃鍘熷垱鑷1point3acres璁哄潧
  3.         //preid is needed to duplicate case
  4.         int w1_preid = -1;
  5.         int w2_preid = -1;
  6.         int w3_preid = -1;. Waral 鍗氬鏈夋洿澶氭枃绔,
  7.       
  8.         //curid
  9.         int w1_id = -1;.1point3acres缃
  10.         int w2_id = -1;
  11.         int w3_id = -1;
  12.       
    -google 1point3acres
  13.       
  14.         int min = Integer.MAX_VALUE;
  15.         for (int i = 0 ; i < words.length ; i++){. Waral 鍗氬鏈夋洿澶氭枃绔,
  16.           . from: 1point3acres.com/bbs
  17.           //update possilbe length
  18.           //only two the same [w1, w2] , [w2, w3], [w1, w3]
  19.           if (word1.equals(word2) && !word1.equals(word3) &&  words[i].equals(word3)){. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴

  20.             if (w1_preid != -1 && w1_id!= -1)
  21.               min = Math.min(i- w1_preid,  min);

  22.           }
  23.           else if (word1.equals(word3)  &&  !word1.equals(word2) && words[i].equals(word2)){

  24.             if (w1_preid != -1 && w1_id!= -1)
  25.               min = Math.min(i- w1_preid,  min);. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  26. .鏈枃鍘熷垱鑷1point3acres璁哄潧
  27.           }
  28.           else if (word2.equals(word3)  &&  !word2.equals(word1) && words[i].equals(word1)){. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  29.             if (w2_preid != -1 && w2_id!= -1). Waral 鍗氬鏈夋洿澶氭枃绔,
  30.               min = Math.min(i- w2_preid,  min);
  31.           }
  32.           // all the same
  33.           // order does not matter but three different are necessary
  34.           else if (word1.equals(word2)  &&  word2.equals(word3) && words[i].equals(word1)){
  35.             if (w1_preid != -1 && w1_id!= -1)
  36.               min = Math.min(i- w1_preid,  min);
  37.           }.鏈枃鍘熷垱鑷1point3acres璁哄潧
  38.           // all different
  39.           else if (words[i].equals(word1)){
  40.             if (w2_id != -1 && w3_id!= -1). more info on 1point3acres.com
  41.               min = Math.min(i- Math.min(w2_id, w3_id), min);
  42.           }
  43.           else if (words[i].equals(word2)){. 鍥磋鎴戜滑@1point 3 acres
  44.             if (w1_id != -1 && w3_id!= -1)
  45.               min = Math.min(i- Math.min(w1_id, w3_id), min);
  46.           }
  47.           else if (words[i].equals(word3)){
  48.             if (w1_id != -1 && w2_id!= -1)
  49.               min = Math.min(i- Math.min(w1_id, w2_id), min);
  50.           }
  51.          
  52.          
  53.           //update cur index to id /preid
  54.           if (words[i].equals(word1)){
  55.             w1_preid = w1_id;
  56.             w1_id = i;
  57.           }
  58.           if (words[i].equals(word2)){
  59.             w2_preid = w2_id;
  60.             w2_id = i;
  61.           }
  62.           if (words[i].equals(word3)){
  63.             w3_preid = w3_id;
  64.             w3_id = i;
  65.           }

  66.         }
  67.         return min;. 1point 3acres 璁哄潧
  68.     }
复制代码


写了个代码considering duplication 有点complicate 有错烦指正
回复 支持 反对

使用道具 举报

1451427216 发表于 2016-11-1 08:01:38 | 显示全部楼层
求问楼主进到下一轮了吗
回复 支持 反对

使用道具 举报

小A要当码农 发表于 2016-11-8 08:14:25 | 显示全部楼层
额,  不是每次都让最小的那个index向右移动不就好了?
回复 支持 反对

使用道具 举报

say543 发表于 2016-11-8 13:53:15 | 显示全部楼层
小A要当码农 发表于 2016-11-8 08:14
额,  不是每次都让最小的那个index向右移动不就好了?


能上个代码吗? follow up 有更好的想法?
回复 支持 反对

使用道具 举报

小A要当码农 发表于 2016-11-9 00:58:14 | 显示全部楼层
say543 发表于 2016-11-8 13:53
能上个代码吗? follow up 有更好的想法?

我写一下,写好了贴上来。。
回复 支持 反对

使用道具 举报

susand33 发表于 2016-11-9 01:17:15 | 显示全部楼层
LZ是面New Grad么?
回复 支持 反对

使用道具 举报

say543 发表于 2016-11-9 16:36:48 | 显示全部楼层
小A要当码农 发表于 2016-11-9 00:58. from: 1point3acres.com/bbs
我写一下,写好了贴上来。。
.鏈枃鍘熷垱鑷1point3acres璁哄潧

thanks 觉得我的code 有点complicate 但是我没有好的做法..
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-5-30 17:56

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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