没结婚也能买房啊!大波士顿地区买房小tips

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投,内推多家公司面试
[Google级团队]:实时大数据分析领域践行者
北京/深圳-大数据/搜索/机器学习职位
日志易机器大数据行业践行者Web/大数据/机器学习等职位-北京or深圳
把贵司招聘信息放这里
查看: 1500|回复: 9
收起左侧

请教fb高频的面试题

[复制链接] |试试Instant~ |关注本帖
f1371342385 发表于 2017-6-28 16:02:33 | 显示全部楼层 |阅读模式

2017(4-6月) 码农类 硕士 全职@Facebook - 内推 - 技术电面  | Other | 在职跳槽

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

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

x
请问fb的高频面试题3sum这个大家都会,有没有那位大哥可以抛一下3sum的值可以重复使用的代码或者想法呀,感谢感谢. From 1point 3acres bbs
FightForTomo 发表于 2017-6-28 17:46:17 | 显示全部楼层
排序,然后遍历数组, 双指针。
有重复的话,就if nums[i] == nums[i-1] continue;
while循环的时候也是同样道理。
回复 支持 反对

使用道具 举报

 楼主| f1371342385 发表于 2017-6-29 01:36:17 | 显示全部楼层
FightForTomo 发表于 2017-6-28 17:46
排序,然后遍历数组, 双指针。. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
有重复的话,就if nums == nums continue;
while循环的时候也是同样道理 ...

哥们,不是这个。是比如给你一个数组[-1, 1, 2] 结果应该是[-1, -1, 2] 和 [-1, 1, 2],因为值可以复用,也就是-1可以出现两次
回复 支持 反对

使用道具 举报

chris612ku 发表于 2017-6-29 02:16:51 | 显示全部楼层
這應該可以用dfs做吧? 類似combination sum的做法?
回复 支持 反对

使用道具 举报

aiweiwei 发表于 2017-6-29 02:45:41 | 显示全部楼层
暴力dfs啊  
回复 支持 反对

使用道具 举报

scredwood 发表于 2017-6-29 02:58:21 | 显示全部楼层

for (int i = 0; i < len; i++)
   int j = i,  k = len-1;. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
   while (j <= k)  {
         ....
  }
}
. From 1point 3acres bbs
这样不行吗? 就是把原来  j = i+1 变成 j = i,   while (j<k) 变成 j <= k..   

比如 1,2,3  target = 6
你可以 i = 1 的时候, j = 1, k = 2,     [2,2,3] 太大, k--,  变成 2,2,2 。
回复 支持 反对

使用道具 举报

 楼主| f1371342385 发表于 2017-6-29 03:14:26 | 显示全部楼层
scredwood 发表于 2017-6-29 02:58
for (int i = 0; i < len; i++)
   int j = i,  k = len-1;
   while (j

哥们你想法不错 我有一个问题啊 如果当sum = 0的时候 还是j++ k--吗 但是我写了代码 好像答案不太对 :(
回复 支持 反对

使用道具 举报

 楼主| f1371342385 发表于 2017-6-29 03:16:12 | 显示全部楼层
scredwood 发表于 2017-6-29 02:58
for (int i = 0; i < len; i++).1point3acres缃
   int j = i,  k = len-1;. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
   while (j

试试 [-1, -1, 2] 正确答案应该是三次的[-1, -1, 2] 因为-1 可以复用
回复 支持 反对

使用道具 举报

scredwood 发表于 2017-6-29 04:52:01 | 显示全部楼层
f1371342385 发表于 2017-6-29 03:16
试试 [-1, -1, 2] 正确答案应该是三次的[-1, -1, 2] 因为-1 可以复用

重复使用数字和重复结果是两个不同的要求把 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
-1, -1, 2 ,  TARGET = 0
应该只能有一个结果



三次 -1, -1, 2 就相当于, 你可以 -1(a), -1(b), 2,   -1(a), -1(a), 2,  -1(b), -1(b), 2
重复结果了。 如果要这样, 2 pointer确实无能为力了,老实DFS。
回复 支持 反对

使用道具 举报

 楼主| f1371342385 发表于 2017-6-29 09:35:08 | 显示全部楼层
scredwood 发表于 2017-6-29 04:52
重复使用数字和重复结果是两个不同的要求把. 鍥磋鎴戜滑@1point 3 acres
-1, -1, 2 ,  TARGET = 0
应该只能有一个结果

如果这样的话 您的应该是正确的 感谢感谢
回复 支持 反对

使用道具 举报

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-388663-1-1.html

关闭

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

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

custom counter

GMT+8, 2018-4-20 20:57

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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