📣 独立日限时特惠: VIP通行证立减$68
回复: 27
跳转到指定楼层
上一主题 下一主题
收起左侧

Facabook Intern 2.17面经

全局:

2017(1-3月) 码农类General 硕士 实习@meta - 内推 - 技术电面  | | Other | 应届毕业生

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

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

x
下午刚面的FB,一道题,没写出来。 、
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
i, 华文细黑, Arial, sans-serif">求其他面试不黑。

评分

参与人数 4大米 +10 收起 理由
qoobee + 1 给你点个赞!
Noah1994 + 3 感谢分享!
ysz0115 + 3 坚持的不错,再接再厉!
vivienqqqq + 3 感谢分享!

查看全部评分


上一篇:刚出炉FB on campus intern 一面
下一篇:microsoft on campus跪经+吐槽

本帖被以下淘专辑推荐:

推荐
supergin 2017-2-23 03:38:40 | 只看该作者
全局:
这题好像用不着这么麻烦吧,LC446变种?

  1. public class Solution {
  2.     public int maxLenArithmeticSeq(int[] nums) {
  3.         int n = nums.length;
  4.         HashMap<Integer, Integer>[] map = new HashMap[n];
  5.         int max = 0;
  6.         for (int i = 0; i < nums.length; i++) {
  7.             map[i] = new HashMap<>();
  8.             for (int j = 0; j < i; j++) {
  9.                 int diff = nums[i] - nums[j];
  10.                 int count1 = map[i].getOrDefault(diff, 1);
  11.                 int count2 = map[j].getOrDefault(diff, 1);
  12.                 int len = Math.max(count2 + 1, count1);
  13.                 max = Math.max(max, len);
  14.                 map[i].put(diff, len);
  15.             }
  16.         }
  17.         return max;
  18.     }
  19. }
复制代码
回复

使用道具 举报

全局:

public class Solution {
   //given a sorted array with no dups
   //O(n^2) time, O(n^2) space
   private static int longestArithmeticProgression(int[] nums) {
       if (nums == null || nums.length < 2) {
           return 0;
       }
       HashMap<Integer, ArrayList<ArrayList<Integer>>> map = new HashMap<>();//key is diff, value is pair of indices
       for (int i = 0; i < nums.length - 1; i++) {
           for (int j = i + 1; j < nums.length; j++) {
               int diff = nums[j] - nums[i];
               if (!map.containsKey(diff)) {
                   map.put(diff, new ArrayList<>());
               }
               ArrayList<Integer> pair = new ArrayList<>(Arrays.asList(i, j));
               map.get(diff).add(pair);
           }
       }
       int max = 0;
       for (int key : map.keySet()) {
           int[] lengths = new int[nums.length];
           for (int i = 0; i < lengths.length; i++) {
               lengths[i] = 1;//initialize all nums to 1
           }
           for (ArrayList<Integer> pair : map.get(key)) {
               lengths[pair.get(1)] = lengths[pair.get(0)] + 1;//update length of this diff's Arithmetic Progression
               max = Math.max(max, lengths[pair.get(1)]);
           }
       }
       return max;
   }
}

我朋友给我的面经的原题,应该是在地里下的。你可以找一找,最近有几位大佬有几个非常牛逼的总结啊。
回复

使用道具 举报

推荐
Noah1994 2017-2-18 06:28:55 | 只看该作者
全局:
楼主好人,offer在路上

评分

参与人数 2大米 +6 收起 理由
ysz0115 + 3 回答的很好!
vivienqqqq + 3 回答的很好!

查看全部评分

回复

使用道具 举报

🔗
vivienqqqq 2017-2-18 05:32:13 | 只看该作者
全局:
楼主好人一生平安!!!!祝这星期能拿OFFER!!!!!

评分

参与人数 2大米 +6 收起 理由
ysz0115 + 3 回答的很好!
Noah1994 + 3 回答的很好!

查看全部评分

回复

使用道具 举报

🔗
ysz0115 2017-2-18 05:32:34 | 只看该作者
全局:
楼主好人一生平安!

评分

参与人数 2大米 +6 收起 理由
Noah1994 + 3 很有用的信息!
vivienqqqq + 3 回答的很好!

查看全部评分

回复

使用道具 举报

🔗
adrianliu729 2017-2-18 05:40:00 | 只看该作者
全局:
dp 吗? 感觉是longest increasing subsequence 的升级版啊

补充内容 (2017-2-18 05:49):
Oh 跟longest palindromic substring 一模一样的思想。中心往两边扩散。
回复

使用道具 举报

🔗
vivienqqqq 2017-2-18 05:48:03 | 只看该作者
全局:
adrianliu729 发表于 2017-2-18 05:40
dp 吗? 感觉是longest increasing subsequence 的升级版啊

对的。。。写懵逼了。。。。就写了这一题。。。写着写着卡住了。
回复

使用道具 举报

🔗
icetraveller 2017-2-18 05:49:25 | 只看该作者
全局:
先两两算差值, 放到 HashMap 里面
然后用 dp 过滤一遍差值?
回复

使用道具 举报

🔗
lhh_NJU 2017-2-18 06:54:50 | 只看该作者
全局:
我第一眼最直观的想法就是排个序。。之后都好办了

补充内容 (2017-2-18 07:05):
好像不太对.. Nevermind
回复

使用道具 举报

全局:
adrianliu729 发表于 2017-2-18 05:40
dp 吗? 感觉是longest increasing subsequence 的升级版啊

补充内容 (2017-2-18 05:49):

等差数列不一定连续,longest palindromic substring思路不适用吧?
回复

使用道具 举报

全局:
求问楼主啥时候投的
回复

使用道具 举报

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

本版积分规则

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