一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 1955|回复: 7
收起左侧

Pocket Gem 第三轮电面, 求大米

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

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

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

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
经过一次被放鸽子后,昨天终于面完第三轮。就一道题目,Convert a tenary operation to a tree.
a:b?c:d:e. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷


a. 1point 3acres 璁哄潧
| \. visit 1point3acres.com for more.
b  e
| \
c  d

题目不到20分钟搞定..随便聊聊就结束了... 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
之前听说貌似面什么样都拒,但今天奇迹般的拿到onsite邀请。算是给地里其他还在面Pocket Gem的同学的定心丸吧。Fight on!!



. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
-google 1point3acres
补充内容 (2015-4-17 02:42):
Sorry,例子给错了。应该是 a?b?c:d:e

评分

1

查看全部评分

stevenlordiam 发表于 2015-4-17 03:05:34 | 显示全部楼层
这题用stack做么?遇到?push遇到:pop?
回复 支持 反对

使用道具 举报

 楼主| dsq704136 发表于 2015-4-17 03:34:46 | 显示全部楼层
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 {
        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) == '?') {
                                TreeNode p = getNode(map, i - 1);
                                if(i - 2 > -1 && !stack.isEmpty() && s.charAt(i - 2) != ':') {
                                        stack.peek().left = p;
                                }.鐣欏璁哄潧-涓浜-涓夊垎鍦
                                stack.push(p);
                                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);
        }

        private TreeNode getNode(Map<Integer, TreeNode> map, int k) {
                // TODO Auto-generated method stub
. 1point 3acres 璁哄潧                return map.get(k);
        }
}
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

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

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

custom counter

GMT+8, 2016-12-10 16:58

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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