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

Facebook intern phone interview一面

全局:

2016(1-3月) 码农类General 硕士 实习@meta - 校园招聘会 - 技术电面  | | Other | 应届毕业生

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

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

x
1.two sum2.Longest Valid Parentheses  
但是输出string


follow up:
因为我用的是StringBuilder输出的结果,然后他说  那你这样要copy原来的string 能不能不用出来extra space
我说直接在string上删除其实是产生新的string,也是要extra space
面试官说python和c++可以浓缩啊  那我们假设java也可以吧= =   我说str
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
16-2-28 05:02):
第二题不是原题  说错了
()()))()  -> ()()()
)(( ->
(())(() -> (())()

补充内容 (2016-2-29 09:57):
一面过了 准备onsite

评分

参与人数 4大米 +23 收起 理由
xiaozhuxiaozhu + 5 感谢分享!
june9383 + 3 谢谢你的介绍!
EmilyMMMM + 5 LZ去fb求内推!!!
yhfyhf + 10 感谢分享!

查看全部评分


上一篇:报一个2月11号的intern offer, 同学们可以催了
下一篇:2.26 Redfin OA (实习)跪经

本帖被以下淘专辑推荐:

推荐
 楼主| cupcupcup 2016-3-1 04:33:29 | 只看该作者
全局:
frank11118 发表于 2016-3-1 03:46
請問有空間複雜度為 O(1) 的版本嗎? 謝謝 :-)

对于java来说是不可能的 因为要重新创建一个string作为结果

评分

参与人数 1大米 +3 收起 理由
frank11118 + 3 很有用的信息!

查看全部评分

回复

使用道具 举报

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

使用道具 举报

推荐
sealove999 2016-4-19 05:29:52 | 只看该作者
全局:
第二题,空间1,时间n
  1. public class Solution {
  2.   public int valid(char[] arr, int len) {
  3.     int count = 0;
  4.     for (int i = 0; i < len; i++) {
  5.       if (arr[i] == '(') {
  6.         count++;
  7.       } else if (arr[i] == ')') {
  8.         count--;
  9.         if (count < 0) {
  10.           arr[i] = '#';
  11.           count = 0;
  12.         }
  13.       }
  14.     }
  15.     count = 0;
  16.     for (int i = len - 1; i >= 0; i--) {
  17.       if (arr[i] == ')') {
  18.         count++;
  19.       } else if (arr[i] == '(') {
  20.         count--;
  21.         if (count < 0) {
  22.           arr[i] = '#';
  23.           count = 0;
  24.         }
  25.       }
  26.     }
  27.     int writer = 0;
  28.     for (int i = 0; i < len; i++) {
  29.       if (arr[i] != '#') {
  30.         arr[writer++] = arr[i];
  31.       }
  32.     }
  33.     return writer;
  34.   }

  35.   public static void main(String[] args) {
  36.     Solution s = new Solution();
  37.     char[] arr = "()()))()".toCharArray();
  38.     int len = s.valid(arr, arr.length);
  39.     for (int i = 0; i < len; i++) {
  40.       System.out.print(arr[i]);
  41.     }
  42.     System.out.println();

  43.     arr = ")((".toCharArray();
  44.     len = s.valid(arr, arr.length);
  45.     for (int i = 0; i < len; i++) {
  46.       System.out.print(arr[i]);
  47.     }
  48.     System.out.println();

  49.     arr = "(())(()".toCharArray();
  50.     len = s.valid(arr, arr.length);
  51.     for (int i = 0; i < len; i++) {
  52.       System.out.print(arr[i]);
  53.     }
  54.     System.out.println();
  55.   }
  56. }
复制代码
回复

使用道具 举报

🔗
haling27188 2016-2-27 06:11:44 | 只看该作者
本楼:
全局:
同求人品。。。
回复

使用道具 举报

🔗
haling27188 2016-2-27 06:28:05 | 只看该作者
本楼:
全局:
求人品!
回复

使用道具 举报

🔗
1064no1carry 2016-2-27 07:46:22 | 只看该作者
全局:
lz第二题是什么思路?
回复

使用道具 举报

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

使用道具 举报

全局:
你填写完问卷以后,多久收到的面试通知
回复

使用道具 举报

🔗
 楼主| cupcupcup 2016-2-27 07:55:16 | 只看该作者
全局:
xiaozhuxiaozhu 发表于 2016-2-27 07:54
你填写完问卷以后,多久收到的面试通知

on campus转为电面的  没有填问卷
回复

使用道具 举报

全局:
马上要面facebook 看面经都是考hard... 感觉很虚
回复

使用道具 举报

🔗
aangel 2016-2-27 08:22:12 | 只看该作者
全局:
设两个指针 i,j,指向当前最长valid括号的开头和结尾

当有一个新的更长的括号匹配出现时,更新一下i和j

最后输出 str.substring(i,j+1)即可


整个过程需要一个O(n)的for loop, DP

补充内容 (2016-2-27 08:25):
时间复杂度O(n),空间O(1)吧
回复

使用道具 举报

🔗
 楼主| cupcupcup 2016-2-27 08:27:04 | 只看该作者
全局:
aangel 发表于 2016-2-27 08:22
设两个指针 i,j,指向当前最长valid括号的开头和结尾

当有一个新的更长的括号匹配出现时,更新一下i和j
...

不对吧..
如果是())()()()
删掉的是中间的‘)’
回复

使用道具 举报

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

本版积分规则

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