一亩三分地论坛

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

一亩三分地官方iOS手机应用下载
查看: 2321|回复: 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
| \. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
b  e
| \
c  d
.1point3acres缃
题目不到20分钟搞定..随便聊聊就结束了...1point3acres缃
之前听说貌似面什么样都拒,但今天奇迹般的拿到onsite邀请。算是给地里其他还在面Pocket Gem的同学的定心丸吧。Fight on!!





补充内容 (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?
. From 1point 3acres bbs
stack没问题..我是recursion做的

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

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

使用道具 举报

notturno 发表于 2015-5-5 03:50:26 | 显示全部楼层
这题应该只需要用stack就可以做,时间是O(n)
求职神器indeed - 在全球最大的求职网站找找适合你的工作?
回复 支持 反对

使用道具 举报

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) != ':') {. 鍥磋鎴戜滑@1point 3 acres
                                        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
                return map.get(k);
        }
}
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2017-3-28 18:35

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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