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

10/3Facebook电面

全局:

2016(7-9月) 码农类General 硕士 全职@meta - 内推 - 技术电面  | | Other | 应届毕业生

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

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

x
2个小时前面完的facebook fulltime电面
刚才找了半天,第一题lc应该没有原题,remove parentheses:
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
g>补充内容 (2016-10-4 18:48):
已拿到onsite

评分

参与人数 7大米 +55 收起 理由
NitaHoult + 1 很有用的信息!
twoSumSum + 3 感谢分享!
fantasiasango + 3 感谢分享!
hercule24 + 5 感谢分享!
夏虫不知雪花 + 30

查看全部评分


上一篇:Yelp OA 10/03
下一篇:Google Intern 电面 10/3
全局:
tanpf5 发表于 2016-10-4 08:34
原来这样,结果我第一题做了半个小时。。还好第二题我倒背如流。。

第1题, two pass.
用两个变量, int left, int right.
从头扫第1遍的时候, 加进去所有left,如果right不大于left, 就加进去stringbuilder。这样保证“)”都有相对应的"("。
第2遍,从第1次的stringbuilder的末尾扫,加进去所有 ), 如果left 不大于 right, 加进去所有 (。
第2遍pass的时候,解决了第1pass, “(”比 “)“多的情况。
回复

使用道具 举报

全局:
    public String removeInvalidParantheses(String s) {
           
        String firstPass = "";
        int left = 0, right = 0;
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            if (c == '(') {
                left++;
                firstPass+='(';
            } else if (c == ')' && right<left) {
                right++;
                firstPass+=')';
            } else if (c != ')' && c != '(') {
                firstPass+=c;
            }
        }

        left = 0;
        right = 0;
        StringBuilder sb = new StringBuilder();
        for(int i = firstPass.length()-1;i>=0;i--)
        {
                char c = firstPass.charAt(i);
            if (c == ')') {
                right++;
                sb.append(')');
            } else if (c == '(' && left < right) {
                left++;
                sb.append('(');
            } else if (c != ')' && c != '(') {
                sb.append(c);
            }
        }

        return sb.reverse().toString();
    }
回复

使用道具 举报

推荐
minggr 2016-10-12 14:04:08 | 只看该作者
全局:
iPhD 发表于 2016-10-4 10:21
问下楼主两题是不是都问了时间空间复杂度?据说这是FB的一贯风格。。。

不是面试官问不问,

写code之前,一定要先说复杂度,
否则你哗啦啦写个O(n^2)的, 结果人家要O(n)的。。。
回复

使用道具 举报

全局:
恭喜拿onsite.
第1题是面经高频原题。
回复

使用道具 举报

🔗
 楼主| tanpf5 2016-10-4 08:34:56 | 只看该作者
全局:
xiaozhuxiaozhu 发表于 2016-10-4 08:33
恭喜拿onsite.
第1题是面经高频原题。

原来这样,结果我第一题做了半个小时。。还好第二题我倒背如流。。
回复

使用道具 举报

🔗
leixiang5 2016-10-4 08:38:06 | 只看该作者
全局:
第一题貌似是leetcode题目吧?
回复

使用道具 举报

🔗
kobe24 2016-10-4 08:39:08 | 只看该作者
全局:
k-closest points to origin ?
回复

使用道具 举报

🔗
 楼主| tanpf5 2016-10-4 08:47:42 | 只看该作者
全局:
xiaozhuxiaozhu 发表于 2016-10-4 08:39
第1题, two pass.
用两个变量, int left, int right.
从头扫第1遍的时候, 加进去所有left,如果right ...

这个方法不错,具体在空间复杂度上比我的方法好
回复

使用道具 举报

🔗
liuzxiao 2016-10-4 08:53:13 | 只看该作者
全局:
第一题是tag 里面的那个的简单版
回复

使用道具 举报

🔗
iPhD 2016-10-4 08:55:20 | 只看该作者
全局:
求楼主把第二题的代码发下好吗?大谢!
回复

使用道具 举报

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

本版积分规则

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