查看: 5566|回复: 9
收起左侧

Google电面

|只看干货
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (83)
 
 
0% (0)    👎

2016(4-6月) 码农类General 硕士 全职@Google - 内推 - 技术电面  | Other | fresh grad应届毕业生

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

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

x
分分钟刚面完。。赶紧写个面经赞一波人品。。
一个不知道是不是国人的女生声音挺甜的accent不太像local,如果是还求国人妹子给过啊。。

上来大概问了5分钟background然后直接上题,一个string decompression的题。。不知道是不是原题反正没见过。。题目如下
2[abc]3[a]c => abcabcabcaaac;     2[ab3[d]]2[cc] => abdddabdddcc
     输入                   输出
一开始用了一个栈,写着写着嵌套的逻辑卡住了,最后用俩stack解决。。然后follow-up问的是不要输出stri
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
"" />


补充内容 (2016-5-3 07:25):
2[abc]3[a]c => abcabcaaac; 上面多写了一遍

评分

参与人数 2大米 +33 收起 理由
jjustc + 3 感谢分享!
miaoya喵酱 + 30

查看全部评分


上一篇:Quora电面跪经
下一篇:谁面试过jet.com?
本楼: 👍   100% (1)
 
 
0% (0)   👎
全局: 👍   93% (27)
 
 
6% (2)    👎
写个python的版本, 欢迎指正  
  def decompression(self, input):
        if not input:
            return ''
        stack = []
        res = ''
        for c in input:
            if c != ']':
                stack.append(c)
            else:
                rep_char = []
                cur = stack[-1]
                while stack and stack[-1] != '[':
                    rep_char.append(stack.pop())
                if stack:
                    stack.pop()
                else:
                    # not valid input format
                    return ''
                rep = []
                while stack and stack[-1] >= '0' and stack[-1] <= '9':
                    rep.append(stack.pop())
                rep_num = 0
                for n in reversed(rep):
                    rep_num = 10 * rep_num + int(n)
                rep_char = rep_char[::-1]
                stack.append(rep_num * ''.join(rep_char))
        return ''.join(stack)
回复

使用道具 举报

本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   96% (31)
 
 
3% (1)    👎
祝楼主好运onsite。 自己练习一下,一个使用单个stack的解法,就是遍历给的字符串,如果遇到不是']'的字符,就入栈。如果遇到']',就出栈直到遇到'['(‘[’ 也得出栈), 然后继续出栈,计算前面的个数。计算完后循环重新入栈,就把里面的括号解开了,以此类推。最后栈里面就是结果,出栈后由于是倒序的,reverse一下返回:
public class Solution {
    public String decompression(String s) {
        if (s == null || s.length() == 0) {
            return s;
        }
        LinkedList<Character> stack = new LinkedList<Character>();
        for(int i = 0; i < s.length(); i++) {
            if (s.charAt(i) != ']') {
                stack.push(s.charAt(i));
            } else if (s.charAt(i) == ']') {
                StringBuilder sb = new StringBuilder();
                char curC = stack.pop();
                while(cur != '[') {
                    sb.append(curC);
                    curC = stack.pop();
                }
                int num = getRepeatTimes(stack);
                String str = sb.toString();
                for(int i = 0; i < num; i++) {
                    for(int j = str.length() - 1; j >= 0; j--) {
                        stack.push(str.charAt(j));
                    }
                }
            }
        }
        
        StringBuilder ret = new StringBuilder();
        while(!stack.isEmpty()) {
            ret.append(stack.pop());
        }
        return ret.reverse().toString();
    }
   
    int getRepeatTimes(LinkedList<Character> stack) {
        int ret = 0;
        int base = 1;
        while(stack.peek() >= '0' && stack.peek() <= '9') {
            ret += Integer.parseInt(stack.pop()) * base;
            base *= 10;
        }
    }
}
扫码关注一亩三分地求职与职场公众号
更多干货内容等你发现
回复

使用道具 举报

本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   98% (246)
 
 
1% (5)    👎
请问楼主什么时候投的呀,这个时间呢new grad还有坑吗
回复

使用道具 举报

 楼主| wangmengcathy 2016-5-3 06:25:35 | 显示全部楼层 | 🔍试试Job多多
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (83)
 
 
0% (0)    👎
yueliu2366 发表于 2016-5-3 06:00
祝楼主好运onsite。 自己练习一下,一个使用单个stack的解法,就是遍历给的字符串,如果遇到不是']'的字符 ...

哈哈多谢! 看到你在很多google电面里的回复 感觉你还是很厉害的 你也是最近要面了吧。。这个解法是可行的 我当时是number和tmp string分开两个stack存的 会稍微concise些。。
回复

使用道具 举报

本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   93% (44)
 
 
6% (3)    👎
bless LZ。题目意思就是重复括号内的字符串n遍吗?例子对吗? 2[abc]3[a]c 不应该是abcabcaaac?  为啥是三遍abc?
回复

使用道具 举报

 楼主| wangmengcathy 2016-5-3 07:25:45 | 显示全部楼层 | 🔍试试Job多多
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (83)
 
 
0% (0)    👎
ogjkfkungosxsf 发表于 2016-5-3 06:25
请问楼主什么时候投的呀,这个时间呢new grad还有坑吗

4月初推得吧
回复

使用道具 举报

 楼主| wangmengcathy 2016-5-3 07:27:17 | 显示全部楼层 | 🔍试试Job多多
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (83)
 
 
0% (0)    👎
houqingniao 发表于 2016-5-3 07:01
bless LZ。题目意思就是重复括号内的字符串n遍吗?例子对吗? 2[abc]3[a]c 不应该是abcabcaaac?  为啥是三 ...

你说得对 已经在补充里指正了
回复

使用道具 举报

本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   96% (31)
 
 
3% (1)    👎
wangmengcathy 发表于 2016-5-3 06:25
哈哈多谢! 看到你在很多google电面里的回复 感觉你还是很厉害的 你也是最近要面了吧。。这个解法是可行 ...

恩,也是最近了。lz放心,妹子光环onsite必过
回复

使用道具 举报

本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   94% (17)
 
 
5% (1)    👎
bless楼主必过!
楼主,这个题目被压缩的是只有字母吗?还是有可能出现数字的情况。比如 3[2a] -> 2a2a2a
回复

使用道具 举报

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

本版积分规则

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