May 2009 - May 2017 论坛八周年-你的足迹,我的骄傲


一亩三分地论坛

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

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

Pocket Gem 第三轮电面, 求大米

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

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

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

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

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


a
| \
b  e
| \
c  d

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





补充内容 (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写
public class Solution {.1point3acres缃
        public TreeNode convert(String s) {
                Map<Integer, TreeNode> map = new HashMap<Integer, TreeNode>();
                for(int i = 0; i < s.length(); i += 2) {. from: 1point3acres.com/bbs
                        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) {.鏈枃鍘熷垱鑷1point3acres璁哄潧
                        if(i < N && s.charAt(i) == '?') {
                                TreeNode p = getNode(map, i - 1);. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
                                if(i - 2 > -1 && !stack.isEmpty() && s.charAt(i - 2) != ':') {
                                        stack.peek().left = p;
                                }
                                stack.push(p);.1point3acres缃
                                i += 2;. from: 1point3acres.com/bbs
                        }
                        else {
                                TreeNode top = stack.pop();. From 1point 3acres bbs
                                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;. 1point 3acres 璁哄潧
                        }
                }
                return map.get(0);
        }
. 1point 3acres 璁哄潧
        private TreeNode getNode(Map<Integer, TreeNode> map, int k) {
                // TODO Auto-generated method stub
                return map.get(k);
        }. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
}
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2017-5-29 18:13

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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