数据结构和算法
文章平均质量分 70
anchor89
这个作者很懒,什么都没留下…
展开
-
HDU 1066 解题报告 详细思路+code
最开始的思路很简单,设一个循环变量从1-n,依次乘到累乘变量s中,只保留s的最后几位非零数字,结果hll的错了,原因主要有两个:1是速度慢,2是在乘的过程中会碰到5的倍数,而每乘一个5的倍数,末尾就会产生一个零,为了保持最后几位都是非零数字,就需要整体右移,这样一来最高位的数字就变得不精确,经过多次右移后,s就完全不是精确的结果了,当然没法得到答案. 这个思路被断掉后一时没了想法,最后多亏老马的提示:末尾0产生的原因是乘式中有2*5这样的因子,因此在计算的时候就该先将2,5因子成对剔除,这样在计算时只需要保原创 2010-09-29 01:46:00 · 5492 阅读 · 1 评论 -
经典面试题:设计包含min函数的栈,O(1)空间实现方法
<br />题目:定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。要求函数min、push以及pop的时间复杂度都是O(1)。<br />注:这是06年一道Google的面试题.<br /> <br />先来说个常规解和他的一个优化,常规解的时间复杂度符合要求,但需要线性的额外空间.<br />常规解(参考 http://zhedahht.blog.163.com/blog/static/25411174200712895228171/):<br />除了题目要求的栈之外新开一个栈,用来记录原创 2010-12-04 22:20:00 · 17532 阅读 · 21 评论