算法设计
iteye_19903
这个作者很懒,什么都没留下…
展开
-
快慢指针在链表中的应用
快慢指针也是面试中的一个常考知识点,主要是链表的问题中应用较多。1. 判断链表是否存在环设置两个指针(fast, slow),初始值都指向头,slow每次前进一步,fast每次前进二步,如果链表存在环,则fast必定先进入环,而slow后进入环,两个指针必定相遇。(当然,fast先行头到尾部为NULL,则为无环链表)程序如下:01int isExitsLoop(L...2014-03-27 23:00:26 · 130 阅读 · 0 评论 -
二分查找-你能完全正确吗?
先给大家贴个题,热乎的,最新的阿里2014实习生笔试题(2014.3.29)。很经典的二分查找,找出其中的bug。题目让指出bug,我想应该是具体的说明错在哪,怎么错了。应该是有两处bug:1) while 循环处条件有错,如果只有一个元素,则返回的肯定的-1,导致答案错误。应改为 end >= start2) 程序会进入死循环。考虑 start =1, end=...2014-04-01 10:33:54 · 155 阅读 · 0 评论 -
Lua银弹之table
来做一个Brain Storm,细数一下你曾经使用过的数据结构: map, hash_map, array, queue, stack, heap...或许还有很多其它的数据结构,相信在开始接触每个数据结构的时候都花了很多的时间去了解它们的特性,因为他们每一种都是足够的复杂。那么作为一个简单至极的语言,Lua是怎么实现这些的呢?答案是Lua中根本没有这些数据结构,汗了吧!更汗的是,Lua其实只一...2014-04-07 22:48:40 · 91 阅读 · 0 评论 -
扔鸡蛋问题(Egg Dropping Puzzle)
据说这是一道google的面试题. 看似是一个智力题,实际是编程题。两个软硬程度一样但未知的鸡蛋,它们有可能都在一楼就摔碎,也可能从一百层楼摔下来没事。现有座36层的建筑,要你用这两个鸡蛋确定哪一层是鸡蛋可以安全落下的最高位置,可以摔碎两个鸡蛋,要求用最少的测试次数。1如果你从某一层楼扔下鸡蛋,它没有碎,则这个鸡蛋你可以继续用2如果这个鸡蛋摔碎了,则...2014-04-09 09:58:04 · 258 阅读 · 0 评论 -
倒水问题-经典面试题
原文:http://www.acmerblog.com/pour-water-problem-5615.html倒水问题这个题目的版本非常之多,有微软版的,腾讯版的,新浪版的等等,最常见的是给你一个容量为5升的杯子和一个容量为3升的杯子,水不限使用,要求精确得到4升水。问题会有两种形式:1) 直接以简答的方式给定方案这个比较简单,即便是不知道什么原理,也可以很快凑出来。假设两个...2014-04-11 12:19:32 · 2900 阅读 · 0 评论