【通知】7月22,工业界资深数据科学家教你破解各大公司面试!


一亩三分地论坛

 找回密码
 获取更多干活,快来注册

一亩三分地官方iOS手机应用下载
查看: 2912|回复: 9
收起左侧

Pocket Gem 第三轮电面, 求大米

[复制链接] |试试Instant~ |关注本帖
dsq704136 发表于 2015-4-17 02:39:31 | 显示全部楼层 |阅读模式

2015(4-6月) 码农类 硕士 全职@PoketGem - 网上海投 - 技术电面 |Passfresh grad应届毕业生

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

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

x
经过一次被放鸽子后,昨天终于面完第三轮。就一道题目,Convert a tenary operation to a tree.
a:b?c:d:e
-google 1point3acres

a
| \
b  e
| \
c  d
. 1point 3acres 璁哄潧
题目不到20分钟搞定..随便聊聊就结束了..
之前听说貌似面什么样都拒,但今天奇迹般的拿到onsite邀请。算是给地里其他还在面Pocket Gem的同学的定心丸吧。Fight on!!. Waral 鍗氬鏈夋洿澶氭枃绔,
-google 1point3acres

.鐣欏璁哄潧-涓浜-涓夊垎鍦
. visit 1point3acres.com for more.

补充内容 (2015-4-17 02:42):
Sorry,例子给错了。应该是 a?b?c:d:e

评分

1

查看全部评分

stevenlordiam 发表于 2015-4-17 03:05:34 | 显示全部楼层
关注一亩三分地公众号:
Warald_一亩三分地
这题用stack做么?遇到?push遇到:pop?
回复 支持 反对

使用道具 举报

 楼主| dsq704136 发表于 2015-4-17 03:34:46 | 显示全部楼层
关注一亩三分地微博:
Warald
stevenlordiam 发表于 2015-4-17 03:05
鏉ユ簮涓浜.涓夊垎鍦拌鍧. 这题用stack做么?遇到?push遇到:pop?

stack没问题..我是recursion做的

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

ifnoword 发表于 2015-4-17 12:23:51 | 显示全部楼层
这题还还真的挺没意思,看不出考察点,感觉就是想用新题吓唬一下应试者
回复 支持 反对

使用道具 举报

notturno 发表于 2015-5-5 03:50:26 | 显示全部楼层
这题应该只需要用stack就可以做,时间是O(n)
回复 支持 反对

使用道具 举报

57656929bb 发表于 2015-5-5 05:17:48 | 显示全部楼层
楼主onsite咋样啊,我也遇到了第三轮,如果onsite最后都没给offer我懒得去了
回复 支持 反对

使用道具 举报

lby1989825 发表于 2015-8-27 10:29:52 | 显示全部楼层
O(N) stack 非递归解
回复 支持 反对

使用道具 举报

lby1989825 发表于 2015-8-27 10:31:29 | 显示全部楼层
这题O(N)stack的解法我给出的是这样的,但是要求输入必须是小于10的Integer,我没按string写. 1point3acres.com/bbs
public class Solution {
        public TreeNode convert(String s) {
                Map<Integer, TreeNode> map = new HashMap<Integer, TreeNode>();
                for(int i = 0; i < s.length(); i += 2) {
                        map.put(i, new TreeNode(Integer.parseInt(s.substring(i, i + 1))));
                }
                int i = 1, N = s.length();
                Stack<TreeNode> stack = new Stack<TreeNode>();
                while(i < N) {
                        if(i < N && s.charAt(i) == '?') {. more info on 1point3acres.com
                                TreeNode p = getNode(map, i - 1);
                                if(i - 2 > -1 && !stack.isEmpty() && s.charAt(i - 2) != ':') {. from: 1point3acres.com/bbs
                                        stack.peek().left = p;
                                }
                                stack.push(p);.1point3acres缃
                                i += 2;
                        }
                        else {
                                TreeNode top = stack.pop();
                                TreeNode right = getNode(map, i + 1);
                                top.right = right;
                                if(i - 2 > -1 && s.charAt(i - 2) != ':') {
                                        TreeNode left = getNode(map, i - 1);
                                        top.left = left;
                                }
                                i += 2;
                        }
                }
                return map.get(0);
        }.鏈枃鍘熷垱鑷1point3acres璁哄潧

        private TreeNode getNode(Map<Integer, TreeNode> map, int k) {. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
                // TODO Auto-generated method stub
                return map.get(k);
        }
}
回复 支持 反对

使用道具 举报

dalonglong 发表于 2017-6-11 10:32:23 | 显示全部楼层
我的cpp版本

node* ternary_to_tree(string& s) {
    if(s.empty()) return NULL;
    node* res = new node(s[0]);
    node* temp = res;
    stack<node*> st;
    for(int i = 1; i < s.size(); i += 2) {
        if (s == '?') {
            st.push(temp);
            temp = temp -> left = new node(s[i + 1]);
        }else {
            while(st.top() -> right) st.pop();
            temp = st.top() -> right =  new node(s[i + 1]);
        }
    }
    return res;
}
回复 支持 反对

使用道具 举报

迷茫的索菲亚 发表于 2017-6-11 20:57:02 | 显示全部楼层
这家竟有三轮电面,祝好运
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-7-21 03:02

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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