凑个热闹。:-) 觉得这道题有趣之处在于找出一项可行的解不难,但找出最优解,却需要细致的观察和思维的跳跃。也许这道题没有那么难,只不过我没有点石成金的洞察力,导致解法冗长。这道题断断续续花了很久才做出来。要在面试的短短10来分钟里写出最优解的代码,肯定是不行了。//惭愧ing。下面是题目:给出一长度为2n的数组:A1A2A3...AnB1B2B3...Bn,要求把该数组重组为A1B1A2B2A3B3...AnBn。该算法只能使用O(1)的额外空间。例子:27543hiwca重组后变为2h7i5w4c3a。现在想来,如果事先知道几项数学知识,也许求最优解就方便多了。How to Solve It: Modern Heuristics里说如果知道用哪些知识解题,题目也就容易了。搜索空间小了嘛。所以这里就不说是哪几坨知识了。:-)
Yong Yuan wrote:
> 凑个热闹。:-) 觉得这道题有趣之处在于找出一项可行的解不难,但找出最优
> 解,却需要细致的观察和思维的跳跃。也许这道题没有那么难,只不过我没有点
> 石成金的洞察力,导致解法冗长。这道题断断续续花了很久才做出来。要在面试
大家都很喜欢思考, 似乎我中学的时候才喜欢思考数学题, 大学和毕业之后一段时
间喜欢思考怎么写好软件, 现在什么都不想思考, 只想吃饱睡好, 向猪学习了 :(
2008/5/20 lbaby <lba...@yahoo.com.cn>:
--
新的理论从少数人的主张到一统天下,并不是因为这个理论说服了别人抛弃旧观点,而是因为一代人的逝去。
My blog: http://googollee.blog.163.com