要回国了,写个简单的总结吧。

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投
内推多家公司面试
坐标湾区
Games Startup
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
把贵司招聘信息放这里
系统
27秒前
系统
3分钟前
系统
4分钟前
系统
6分钟前
系统
7分钟前
系统
7分钟前
系统
9分钟前
全站
9分钟前
系统
9分钟前
系统
12分钟前
系统
13分钟前
系统
13分钟前
系统
13分钟前
系统
14分钟前
全站
Warald 说: MemorialDay大礼包之二:【新功能】论坛开启用户全局威望值,每楼右上方均可投票。
40分钟前
全站
Warald 说: MemorialDay大礼包之一:【新功能】发帖后,可以邀请朋友参与讨论(自动功能)
48分钟前
查看: 1335|回复: 16
收起左侧

[CareerCup] 【第三轮】7.7-7.13 CareerCup 4.4

[复制链接] |试试Instant~ |关注本帖
我的人缘0
wrj5518 发表于 2014-7-6 20:52:02 | 显示全部楼层 |阅读模式
  此人很可信:
 
0% (暂未有人投票) 【我投】
  此人瞎逼逼:
 
0% (暂未有人投票) 【我投】

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

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

x
4.4 Given a binary tree, design an algorithm which creates a linked list of all the nodes at each depth (e.g., if you have a tree with depth D,you'll have D linked lists).

回复解法可以按照以下格式来
【解题思路】
【时间复杂度】
【空间复杂度】
【gist link】
---------------optional,如果觉得test case比较好,欢迎写出来分享----------------------
【test case】


Notice:
1、记得在程序注释中表明自己算法的时间、空间复杂度
2、代码难懂之处加注释
3、每道题目有对应的帖子,除了贴解法,欢迎讨论,集思广益
4、任何未尽之处,欢迎回报名帖提问,我会进一步作出修改。




上一篇:【第三轮】7.7-7.13 CareerCup 4.3
下一篇:【第三轮】7.7-7.13 CareerCup 4.5
我的人缘0
grassgigi 发表于 2014-7-8 10:12:08 | 显示全部楼层
  此人很可信:
 
0% (暂未有人投票) 【我投】
  此人瞎逼逼:
 
0% (暂未有人投票) 【我投】
【解题思路】
BFS -  level order traversing the tree

【时间复杂度】
O(N)

【空间复杂度】
O(N)

【gist link】
https://gist.github.com/chrislukkk/15bb4a11c3c4872d0e6a

binray tree & tree builder:
https://gist.github.com/chrislukkk/2a1f825b8e924ea773e8
回复 支持 反对

使用道具 举报

全球28万学生4.7分推荐
我的人缘0
donnice 发表于 2014-7-11 06:29:27 | 显示全部楼层
  此人很可信:
 
0% (暂未有人投票) 【我投】
  此人瞎逼逼:
 
0% (暂未有人投票) 【我投】
【解题思路】先通过遍历每一个节点来判断它们的深度,再把相同深度的node们add进一个linkedlist。要注意高度差不等于深度,因为一棵树的高度是指比较长的分叉的高度,而如果任意左右两叉高度不等,用高度的概念代替深度会出现错误。
【时间复杂度】O(N)
【空间复杂度】O(N)
【gist】
https://github.com/donnice/donnice/blob/master/Q4_4
【Test case】
                       5                                                               
              2                  8                              
        1          4       7                                          
              3         6   
回复 支持 反对

使用道具 举报

我的人缘0
圆梦梦剧场 发表于 2014-7-11 23:27:01 | 显示全部楼层
  此人很可信:
 
0% (暂未有人投票) 【我投】
  此人瞎逼逼:
 
0% (暂未有人投票) 【我投】
【解题思路】
BFS


【时间复杂度】
O(n)


【空间复杂度】
O(n)


【gist link】
https://gist.github.com/happyWinner/d0c2b19118c39aeab11e

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

我的人缘0
bitcpf 发表于 2014-7-12 00:26:50 | 显示全部楼层
  此人很可信:
 
0% (暂未有人投票) 【我投】
  此人瞎逼逼:
 
0% (暂未有人投票) 【我投】
【解题思路】BFS tell the depth of each node, add them to a linkedlist, and pull them out according to the layer
【时间复杂度】O(N)
【空间复杂度】O(N)
【gist】https://gist.github.com/bitcpf/bdf67403863da2e86de2
回复 支持 反对

使用道具 举报

头像被屏蔽
我的人缘0
serolins 发表于 2014-7-12 04:46:09 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

我的人缘0
Neal 发表于 2014-7-12 13:14:55 | 显示全部楼层
  此人很可信:
 
0% (暂未有人投票) 【我投】
  此人瞎逼逼:
 
0% (暂未有人投票) 【我投】
【解题思路】Transverse the tree by layer
【时间复杂度】O(N)
【空间复杂度】O(N)
【gist】https://gist.github.com/nealhu/639b16c2560d62e78fdf
回复 支持 反对

使用道具 举报

我的人缘0
ivycheung1208 发表于 2014-7-13 04:50:32 | 显示全部楼层
  此人很可信:
 
0% (暂未有人投票) 【我投】
  此人瞎逼逼:
 
0% (暂未有人投票) 【我投】
本帖最后由 ivycheung1208 于 2014-7-12 17:36 编辑

【解题思路】
1. get height of the tree, create an array of linked links with size height, recursively traverse the tree and push nodes into corresponding layer of list.
2. similar with 1 but use vector to hold the lists instead of array, do not need to know the height of tree ahead
3. BFS: create each level (exempt the first one) with all children of the nodes from the previous level
【时间复杂度】
O(N)
【空间复杂度】
O(N)
【gist link】
https://gist.github.com/d1c9fb4b155c2c502c76



回复 支持 反对

使用道具 举报

我的人缘0
兰橘清檬 发表于 2014-7-13 09:19:11 | 显示全部楼层
  此人很可信:
 
0% (暂未有人投票) 【我投】
  此人瞎逼逼:
 
0% (暂未有人投票) 【我投】
【解题思路】
level order traversal
【时间复杂度】
O(N)
【空间复杂度】
O(N)
【gist】
https://gist.github.com/JoyceeLee/950b1246427d76a419ed
回复 支持 反对

使用道具 举报

我的人缘0
HiLen 发表于 2014-7-13 11:04:49 | 显示全部楼层
【解题思路】BFS 设置节点属性dep 表示当前节点的深度,TreeNode Next属性表示更改后当前节点下一个节点
BFS 访问二叉树,根节点的dep为1,记录当前深度curdepth;
如果curdepth不等于当前节点的dep说明进入下一层,当前节点是该层头结点加入到list
访问当前节点左子右节点设置左右节点深度
【时间复杂度】O(n)
【空间复杂度】因为每个节点都多了一个Next属性,算作 O(n)
【gist link】https://gist.github.com/Hailen/3a23b7ad2d10e7da5b24
---------------OPTional,如果觉得test case比较好,欢迎写出来分享----------------------
【test case】  
    2
   / \
  9  10
    /  \
   11   7
回复 支持 反对

使用道具 举报

我的人缘0
wilbert 发表于 2014-7-14 06:00:07 | 显示全部楼层
  此人很可信:
 
0% (暂未有人投票) 【我投】
  此人瞎逼逼:
 
0% (暂未有人投票) 【我投】
【解题思路】
Level Order Traversal
【时间复杂度】
O(N)
【空间复杂度】
O(N)
【gist link】
https://gist.github.com/iwilbert/656493ac191d0a3d6abe
回复 支持 反对

使用道具 举报

我的人缘0
wilbert 发表于 2014-7-14 06:00:15 | 显示全部楼层
  此人很可信:
 
0% (暂未有人投票) 【我投】
  此人瞎逼逼:
 
0% (暂未有人投票) 【我投】
【解题思路】
Level Order Traversal
【时间复杂度】
O(N)
【空间复杂度】
O(N)
【gist link】
https://gist.github.com/iwilbert/656493ac191d0a3d6abe
回复 支持 反对

使用道具 举报

我的人缘0
jyh橘子 发表于 2014-7-16 05:41:29 | 显示全部楼层
  此人很可信:
 
0% (暂未有人投票) 【我投】
  此人瞎逼逼:
 
0% (暂未有人投票) 【我投】
【解题思路】
1.  modified pre_order traversal, recursive method
2. BTS
【时间复杂度】
1. O(N)
2. O(N)
【空间复杂度】
1. O(N)    + O(lgN)for recursion
2. O(N)
【gist link】
https://gist.github.com/jyhjuzi/f8cfddb8a198180d17f9
回复 支持 反对

使用道具 举报

我的人缘0
林微熙 发表于 2014-7-16 06:21:23 | 显示全部楼层
  此人很可信:
 
0% (暂未有人投票) 【我投】
  此人瞎逼逼:
 
0% (暂未有人投票) 【我投】
【解题思路】BFS
【时间复杂度】O(N)
【空间复杂度】O(N)
【gist link】https://gist.github.com/hilda8519/d88070153f559a4d5c47
回复 支持 反对

使用道具 举报

我的人缘0
renli3000 发表于 2014-7-18 05:34:26 | 显示全部楼层
  此人很可信:
 
0% (暂未有人投票) 【我投】
  此人瞎逼逼:
 
0% (暂未有人投票) 【我投】
【解题思路】简单暴力的BFS + 双queue存储, 和leetcode上一道题类似
【时间复杂度】O(N)
【空间复杂度】O(N)
【gist link】https://gist.github.com/Noahsark/95b8e7ecfc5b21e14923
回复 支持 反对

使用道具 举报

我的人缘0
tonygxxx1212 发表于 2014-7-19 22:25:31 | 显示全部楼层
  此人很可信:
 
0% (暂未有人投票) 【我投】
  此人瞎逼逼:
 
0% (暂未有人投票) 【我投】
【解题思路】BFS - list of list to store, no need for queue and visit flag (binary tree has no circle)
【时间复杂度】O(N)
【空间复杂度】O(N)
【gist link】https://gist.github.com/xun-gong/3014fdabc864b4b2302e
回复 支持 反对

使用道具 举报

我的人缘0
jason51122 发表于 2014-7-27 12:02:12 | 显示全部楼层
  此人很可信:
 
0% (暂未有人投票) 【我投】
  此人瞎逼逼:
 
0% (暂未有人投票) 【我投】
【解题思路】Level order traversal
【时间复杂度】O(N)
【空间复杂度】O(N)
【gist link】https://gist.github.com/jason51122/f22ed431db4a7dd8fbf3
回复 支持 反对

使用道具 举报

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

关闭

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

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

custom counter

GMT+8, 2018-5-27 13:44

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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