由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 问一道车辆归位的算法题
相关主题
问个sorting的题目考算法可以用stl吗?
微软面世经过请推荐算法的书
刚过的amazon 2 面请问个算法复杂度
看clrs的一些疑问问一个算法问题
报google offer,并分享找工作经验一个貌似指数级的算法问题求更简单的算法
Amazon 1 面A家onsite, OO答的真郁闷
问个anagram的算法复杂度面试时 迭代还是递归
请教一个矩阵算法问题Nearest Neighbor 算法题
相关话题的讨论汇总
话题: 车位话题: 空位话题: 车辆话题: 配对话题: 编号
进入JobHunting版参与讨论
1 (共1页)
m******n
发帖数: 42
1
有一个停车场,车位都是事先分配好的,每辆车都应该按编号停车。但是目前停车场所
停车辆并没用按编号停车,而且只有一个空位,请问如何利用这一个空位把所有车辆归
位。
感觉有点象华容道问题,求解,谢谢!
l*********8
发帖数: 4642
2
constant space, in-place sort
use quick sort.

【在 m******n 的大作中提到】
: 有一个停车场,车位都是事先分配好的,每辆车都应该按编号停车。但是目前停车场所
: 停车辆并没用按编号停车,而且只有一个空位,请问如何利用这一个空位把所有车辆归
: 位。
: 感觉有点象华容道问题,求解,谢谢!

l****h
发帖数: 1189
3
一针见血。

【在 l*********8 的大作中提到】
: constant space, in-place sort
: use quick sort.

m******n
发帖数: 42
4
谢谢!
K*******g
发帖数: 26
5
面试的时候碰到这道题,答得不好,面试官提示了。
这里车位和车都是对应的,只要是空车位,可以把车移到正确的车位上,
而不需要跟其他车去比较,因此用常见的排序无法得出最优方案。
更好的方案如下:
因为有一个空位,所以必然有个车位是没有对应的车的。先将其选出作为特殊车位,
如果该车位有车,移开。
按车位顺序查看停的车是否配对,若不配对将车放在特殊空位,把配对的车移在空出
来的车位,再给新空出来的车位配对,循环至空位变成特殊车位。之后从刚开始不配对
的车位往后继续查看配对,直至所有车位配对。复杂度O(n),这里只考虑移车的开销。
举个例子,车位编号1-5, 车编号1-4,起始状态
按车位顺序:
2, 3, 1, 4, 空
则移动如下
空, 3, 1, 4, 2
1, 3, 空,4, 2
1, 空, 3, 4, 2
1, 2, 3, 4, 空
结束

【在 m******n 的大作中提到】
: 有一个停车场,车位都是事先分配好的,每辆车都应该按编号停车。但是目前停车场所
: 停车辆并没用按编号停车,而且只有一个空位,请问如何利用这一个空位把所有车辆归
: 位。
: 感觉有点象华容道问题,求解,谢谢!

m******n
发帖数: 42
6
赞!

【在 K*******g 的大作中提到】
: 面试的时候碰到这道题,答得不好,面试官提示了。
: 这里车位和车都是对应的,只要是空车位,可以把车移到正确的车位上,
: 而不需要跟其他车去比较,因此用常见的排序无法得出最优方案。
: 更好的方案如下:
: 因为有一个空位,所以必然有个车位是没有对应的车的。先将其选出作为特殊车位,
: 如果该车位有车,移开。
: 按车位顺序查看停的车是否配对,若不配对将车放在特殊空位,把配对的车移在空出
: 来的车位,再给新空出来的车位配对,循环至空位变成特殊车位。之后从刚开始不配对
: 的车位往后继续查看配对,直至所有车位配对。复杂度O(n),这里只考虑移车的开销。
: 举个例子,车位编号1-5, 车编号1-4,起始状态

f*******r
发帖数: 1086
7
感谢很棒的答案,
不过在给新空出来的车位配对的时候,感觉需要从前往后寻找对应的车,这个貌似本身
需要O(N)复杂度,那么总体的复杂度似乎没法保证是O(N)?
请赐教!

【在 K*******g 的大作中提到】
: 面试的时候碰到这道题,答得不好,面试官提示了。
: 这里车位和车都是对应的,只要是空车位,可以把车移到正确的车位上,
: 而不需要跟其他车去比较,因此用常见的排序无法得出最优方案。
: 更好的方案如下:
: 因为有一个空位,所以必然有个车位是没有对应的车的。先将其选出作为特殊车位,
: 如果该车位有车,移开。
: 按车位顺序查看停的车是否配对,若不配对将车放在特殊空位,把配对的车移在空出
: 来的车位,再给新空出来的车位配对,循环至空位变成特殊车位。之后从刚开始不配对
: 的车位往后继续查看配对,直至所有车位配对。复杂度O(n),这里只考虑移车的开销。
: 举个例子,车位编号1-5, 车编号1-4,起始状态

K*******g
发帖数: 26
8
建个table存一下位置就可以了,查询O(1)而已

【在 f*******r 的大作中提到】
: 感谢很棒的答案,
: 不过在给新空出来的车位配对的时候,感觉需要从前往后寻找对应的车,这个貌似本身
: 需要O(N)复杂度,那么总体的复杂度似乎没法保证是O(N)?
: 请赐教!

1 (共1页)
进入JobHunting版参与讨论
相关主题
Nearest Neighbor 算法题报google offer,并分享找工作经验
Recursion算法复杂度计算一问Amazon 1 面
哪里有简单基础题的题库啊?... 跪在简单题上了..问个anagram的算法复杂度
怎么处理面试官一点都不愿意交流的情况?请教一个矩阵算法问题
问个sorting的题目考算法可以用stl吗?
微软面世经过请推荐算法的书
刚过的amazon 2 面请问个算法复杂度
看clrs的一些疑问问一个算法问题
相关话题的讨论汇总
话题: 车位话题: 空位话题: 车辆话题: 配对话题: 编号