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

FB一面面经

全局:

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

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

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

x
一面。。口音很重的国人小哥。

两道题

1. monotonic array。。低频easy。。一开始上来懵了。。没刷过但是现做出来。。有点小Bug。。1,2,2,2
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
收到的二面通知。。上周五面得还没消息。。。已经move on 了。。大家加油。积分就不设限了。

评分

参与人数 10大米 +38 收起 理由
lumiccc + 3 给你点个赞!
drool + 5 谢谢分享!
啊lch + 10 很有用的信息!
spinova + 1 赞一个
jjames + 1 赞一个

查看全部评分


上一篇:OfferUp店面
下一篇:脸熟一面面筋
推荐
cjlsysu 2018-11-9 15:32:04 | 只看该作者
全局:
2 pass + o(1) space是可行的,但1 pass + o(1) space应该是没法实现的。
正序pass可以过滤掉非法的')',但没法过滤掉非法的'('。因为判定某个'('是否非法,需要用到后面的信息。
同理,逆序pass也只能过滤掉非法的'('。
应该可以严格数学证明,有兴趣的同学可以试试
回复

使用道具 举报

推荐
木易wen 2018-11-8 11:21:17 | 只看该作者
全局:
可以用两个flag left和right,当left遇到左括号加一右括号减一,right相反 小于0时为invalid变成点
好像和刷题网二三吧有点像
  1. public static String removeInvalidParentheses(String input) {
  2.         char[] inputChars = input.toCharArray();
  3.         int len = inputChars.length;
  4.         int left = 0;
  5.         int right = 0;
  6.         for (int i = 0; i < len; i ++) {
  7.             if (Character.isLetter(inputChars[i])) {
  8.                 continue;
  9.             }
  10.             if (inputChars[i] == '(') {
  11.                 left ++;
  12.             }
  13.             else if (inputChars[i] == ')') {
  14.                 left --;
  15.             }
  16.             if (left < 0) {
  17.                 inputChars[i] = '.';
  18.                 left = 0;
  19.             }
  20.             if (inputChars[len - i - 1] == ')') {
  21.                 right ++;
  22.             }
  23.             else if (inputChars[len - i - 1] == '(') {
  24.                 right --;
  25.             }
  26.             if (right < 0) {
  27.                 inputChars[len - i - 1] = '.';
  28.                 right = 0;
  29.             }
  30.         }
  31.         return new String(inputChars);
  32.     }
复制代码
回复

使用道具 举报

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

使用道具 举报

🔗
gundamkeroro 2018-11-7 01:26:45 | 只看该作者
全局:
等等呗 感觉还是有戏的
回复

使用道具 举报

🔗
edyyy 2018-11-7 02:07:40 | 只看该作者
全局:
谢谢楼主分享。写了两题,还好啊。可能面馆没有交review.。等等看。加点米给你。 第一题是最近的高频。"要inplace的将不合法的括号改为一个点"是什么意思啊?
回复

使用道具 举报

🔗
 楼主| zjt610526 2018-11-7 02:25:26 | 只看该作者
全局:
edyyy 发表于 2018-11-7 02:07
谢谢楼主分享。写了两题,还好啊。可能面馆没有交review.。等等看。加点米给你。 第一题是最近的高频。"要i ...

就是比如输入是 )(ab  你要变成..ab。。inplace的改
回复

使用道具 举报

🔗
drift1981 2018-11-7 03:02:22 | 只看该作者
全局:
加米,谢谢lz分享
回复

使用道具 举报

🔗
啊lch 2018-11-7 04:03:48 | 只看该作者
全局:
想了想是不是two pointers可以做。left = 0, right = len-1, 遇到不是括号的往下一个移就好了,如果是括号,必须每次保证left =(, right = ),如果哪个不是,哪个就变成点,然后移动那个不对的指针,直到left > right,left = right的情况也有可能是要变点的。
回复

使用道具 举报

🔗
fdsscz 2018-11-7 05:21:34 | 只看该作者
全局:
真的能one pass + constant space么?求大神指点
回复

使用道具 举报

🔗
 楼主| zjt610526 2018-11-7 05:51:46 | 只看该作者
全局:
啊lch 发表于 2018-11-7 04:03
想了想是不是two pointers可以做。left = 0, right = len-1, 遇到不是括号的往下一个移就好了,如果是括号 ...

这个不能保证移除最少啊。。()()()这个例子
回复

使用道具 举报

全局:
用两个变量一个记录左括号 一个记录右括号?扫的过程中可以根据匹配情况改,不过扫一遍后发现左括号或者右括号多还得重新扫一遍改非法括号
回复

使用道具 举报

🔗
啊lch 2018-11-7 11:44:17 | 只看该作者
全局:
zjt610526 发表于 2018-11-7 05:51
这个不能保证移除最少啊。。()()()这个例子

如果给的input一定是invalid的话,这么做是不是是可以的
回复

使用道具 举报

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

本版积分规则

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