车版热帖:大家对买豪车怎么看

一亩三分地论坛

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

FB迟到的面经

[复制链接] |试试Instant~ |关注本帖
神罗天征 发表于 2015-10-27 10:31:03 | 显示全部楼层 |阅读模式

2016(10-12月) 码农类General 硕士 实习@Facebook - 校园招聘会 - 校园招聘会  | Pass | 其他

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

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

x
转专业找实习,只有这一份面试,其他的都石沉大海……上周三面的,面试官貌似是个中国人,不过都在fb工作六年了
面试的时候就只有一道题(当我面完的时候,觉得挂定了,别人都是两道,我才一道……)
题目就是给你一字符串,里面有字符,数字,还有括号,要求删除次数最小,是之成为valid parentheses,比如(((a3sq)),删除一个左括号就够了,感觉和leetcode 里面longest valid parentheses很像
希望onsite也能过,大家都能收到满意的offer,求大米~


补充内容 (2015-11-5 05:21):
Leetcode 新题301 Remove Invalid Parentheses

评分

2

查看全部评分

nothingtrouble 发表于 2015-10-30 03:17:32 | 显示全部楼层
感觉可以用一个left counter来做, 遇到"(" left++, 遇到")" left--. 如果小于0就删掉")", 最后left>0就删掉left个"(". O(1) space
回复 支持 反对

使用道具 举报

hpplayer 发表于 2015-10-30 03:31:34 | 显示全部楼层
这题如果要列出所有的可能性就要用BACKTRACKING。 如楼上所说需要用一个COUNTER来统计左和右括号的个数.鐣欏璁哄潧-涓浜-涓夊垎鍦

补充内容 (2015-10-30 03:32):
如果只用统计次数,那就可以用STACK, TWO POINTER等等
回复 支持 反对

使用道具 举报

 楼主| 神罗天征 发表于 2015-10-30 06:39:51 | 显示全部楼层
nothingtrouble 发表于 2015-10-30 03:17
感觉可以用一个left counter来做, 遇到"(" left++, 遇到")" left--. 如果小于0就删掉")", 最后left>0就删掉 ...

对,我面试的时候就直接这样遍历的,没有用stack
回复 支持 反对

使用道具 举报

akluffy 发表于 2015-10-31 06:10:45 | 显示全部楼层
楼主,请问字母是可以放在任意位置都算valid吗
回复 支持 反对

使用道具 举报

 楼主| 神罗天征 发表于 2015-10-31 06:13:03 | 显示全部楼层
akluffy 发表于 2015-10-31 06:10
楼主,请问字母是可以放在任意位置都算valid吗

对的,只要左右括号成对出现就行
回复 支持 反对

使用道具 举报

akluffy 发表于 2015-10-31 08:21:08 | 显示全部楼层
神罗天征 发表于 2015-10-31 06:13
对的,只要左右括号成对出现就行
  1. int minimumDeleteTimes(string s) {
  2.     int count = 0;
  3.     for(char c : s) {
  4.         if(c == '(') count++;
  5.         else if(c == ')') count--;
  6.     }. Waral 鍗氬鏈夋洿澶氭枃绔,

  7.     return count > 0 ? count : -count;
  8. }

  9. string turnToValid(string s) {. 1point3acres.com/bbs
  10.     stack<int> stk; // store index of '('
  11.     unordered_set<int> set; // index need to delete
  12.     for(int i = 0; i < s.length(); ++i) {. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  13.         if(s[i] == '(') stk.push(i);
  14.         else if(s[i] == ')') {
  15.             if(stk.empty()) {
  16.                 set.insert(i);
  17.             } else stk.pop();. from: 1point3acres.com/bbs
  18.         }
  19.     }

  20.     while(!stk.empty()) { 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  21.         set.insert(stk.top());
  22.         stk.pop();
  23.     }.鐣欏璁哄潧-涓浜-涓夊垎鍦

  24.     string result;.鏈枃鍘熷垱鑷1point3acres璁哄潧
  25.     for(int i = 0; i < s.length(); ++i) {
  26.         if(!set.count(i)) result.push_back(s[i]);
  27.     }

  28.     return result;
  29. }


  30. int  main() {
  31.     string s = "((((a3sq))()))))";
  32.     cout << turnToValid(s) << endl;
  33. . From 1point 3acres bbs
  34. . 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  35.     return 0;
  36. }
复制代码
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2018-4-23 08:17

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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