回复: 40
跳转到指定楼层
上一主题 下一主题
收起左侧

Facebook电面

全局:

2016(7-9月) 码农类General 硕士 实习@meta - 内推 -   | | Other | 其他

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

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
能约的最早的日子已经在国内了,所以就约了加州时间4点开始,也就是今天早上8点的。挺珍惜这个机会的结果就是昨天11点半睡到两点醒了就再也睡不着了。
接电话一听是个三哥,先让做了自我介绍然后开始码题。
第一道check if there
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
in 2d matrix。其实有点像第一题的follow up,把search sum从一维变到二维,subarray变成sub rectangle

评分

参与人数 5大米 +32 收起 理由
Jester_Z + 10 感谢分享!
小艾哥 + 3 加油,再接再厉!
pengzewen37 + 15 感谢分享!
guixi107 + 1 感谢分享!
ohyline + 3 不错的面经啊 没见过的题目!!!

查看全部评分


上一篇:12/22 Yahoo电面
下一篇:YELP 店面

本帖被以下淘专辑推荐:

推荐
luofeidream 2016-1-17 09:35:29 | 只看该作者
全局:
ohyline 发表于 2016-1-16 05:16
第二题可以用第一种方法 做成O(n^2)
先算个cumulative matrix (每一个元素就是从左上角到当前元素的sub ...

有个问题哦,为什么sum > target反而要扩大submatrix的范围呢,这时候不是应该缩小吗
回复

使用道具 举报

推荐
jiya 2016-9-3 11:09:53 | 只看该作者
全局:
  1. return subMatrixSum(cumMatrix, 0, 0, 0, 0);

  2. Map<String, Boolean> dp = new HashMap<String, Boolean>();
  3. boolean subMatrixSum(int[][] cum, int headi, int headj, int taili, int tailj, int target) {
  4.         String key = headi + ":" + headj + ":" + taili + ":" + tailj;
  5.         if (map.containsKey(key)) {
  6.                 return map.get(key);
  7.         } else {
  8.                 boolean res = false;
  9.                 if (headi < taili || headj < tailj) {
  10.                         res = false;
  11.                 } else {
  12.                         int sum = subsum(cum, headi, headj, taili, tailj);
  13.                         if (sum == target) {
  14.                                 res = true;
  15.                         } else if (sum > target) {
  16.                                 res = subMatrixSum(cum, headi, headj, taili + 1, tailj, target) || sumMatrixSum(cum, headi, headj, taili, tailj + 1, target);
  17.                         } else {
  18.                                 res = sumMatrixSum(cum, headi + 1, headj, taili, tailj) || sumMatrixSum(cum, headi, headj + 1, taili, tailj, target);
  19.                         }
  20.                 }
  21.                 map.put(key, res);
  22.                 return res;
  23.         }
  24. }
复制代码


可以用DP优化一下,但是感觉复杂度还是O(n^4)
回复

使用道具 举报

推荐
jiya 2016-9-3 10:58:41 | 只看该作者
全局:
  1. (taili, tailj) * * * * * * * * *
  2. * * * * * * * * * * * * * * * *
  3. * * * * * * * * * * * * * * * *
  4. * * * * * * * * *(headi, headj)

  5. return subMatrixSum(cumMatrix, 0, 0, 0, 0);

  6. boolean subMatrixSum(int[][] cum, int headi, int headj, int taili, int tailj, int target) {
  7.         if (headi < taili || headj < tailj) {
  8.                 return false;
  9.         }
  10.         int sum = subsum(cum, headi, headj, taili, tailj);
  11.         if (sum == target) {
  12.                 return true;
  13.         } else if (sum > target) {
  14.                 return subMatrixSum(cum, headi, headj, taili + 1, tailj, target) || sumMatrixSum(cum, headi, headj, taili, tailj + 1, target);
  15.         } else {
  16.                 return sumMatrixSum(cum, headi + 1, headj, taili, tailj) || sumMatrixSum(cum, headi, headj + 1, taili, tailj, target);
  17.         }
  18. }
复制代码


重排一下前面的代码
回复

使用道具 举报

🔗
xuweineo 2016-1-8 18:36:06 | 只看该作者
全局:
擦。。摸摸谭神
回复

使用道具 举报

🔗
eonian 2016-1-12 08:13:54 | 只看该作者
全局:
好难啊。。follow-up有什么解法么0.0
回复

使用道具 举报

🔗
letsdoit666 2016-1-13 11:07:45 | 只看该作者
全局:
lz有消息了吗
回复

使用道具 举报

🔗
Howie 2016-1-13 17:16:53 | 只看该作者
全局:
http://www.geeksforgeeks.org/find-subarray-with-given-sum/
第一题是这个?
回复

使用道具 举报

🔗
Howie 2016-1-13 18:50:52 | 只看该作者
全局:
搞个map 存一下子数组的和,算到sum[j]的时候,看看 满足sum[j] - sum[i]的值是不是出现过。
二维,类似。。扫一遍,存[0][0]到[i][j],然后加加减减,算出来子矩阵的和。。就是写起来 麻烦  二维的应该不用 写代码
回复

使用道具 举报

🔗
ohyline 2016-1-15 05:40:20 | 只看该作者
全局:
楼主, 我刚刚跟你遇到了完全一样的情况!!!题目一样, 三哥也一样。没啥耐心,第二题你做出来了么,我只写出了bruteforce(On^4)。。。被鄙视了啊 你结果出来了么
回复

使用道具 举报

🔗
 楼主| tanpf5 2016-1-15 23:03:46 | 只看该作者
全局:
Howie 发表于 2016-1-13 17:16
http://www.geeksforgeeks.org/find-subarray-with-given-sum/
第一题是这个?

第一题类似吧,主要是要考虑sum = 0的时候的边界条件
回复

使用道具 举报

🔗
 楼主| tanpf5 2016-1-15 23:05:18 | 只看该作者
全局:
ohyline 发表于 2016-1-15 05:40
楼主, 我刚刚跟你遇到了完全一样的情况!!!题目一样, 三哥也一样。没啥耐心,第二题你做出来了么,我只 ...

第二题不知道有啥好方法。到现在没结果早就不抱希望了
回复

使用道具 举报

🔗
ohyline 2016-1-16 05:16:00 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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