算法学习
文章平均质量分 68
liutyii
白天有说有笑,晚上睡个好觉
展开
-
面试算法01-百钱买百鸡
这个题算是一个比较经典的算法题了,计算机专业的同学在大学就已经接触到,我们看下题干:你有100块钱,用这些钱去市场买鸡,公鸡5块钱1只,母鸡3块钱1只,小鸡1块钱3只,假设买回的鸡总共100只,并且公鸡母鸡小鸡都要有,问有哪几种买法?既然我们大学就接触过,那么我们首先来看下大学时学的解法,暴力穷举,首先公鸡最多可买20只,母鸡最多可买33只,小鸡最多可买300只,那么穷举法代码如下:de...原创 2018-12-07 13:56:21 · 683 阅读 · 0 评论 -
面试算法03-高楼扔球求临界破碎楼层
且看题:有100层楼,已知从某层扔下玻璃球会碎,给你两个玻璃球,请用最优策略实验出临界的破碎楼层注意题,是给出最优实验策略,我们可不能拿一个小球从一层开始扔,然后一层一层往上加,这样的话最坏的情况下会扔99次(因为99层不管碎没碎,我们都知道结果了),而且还浪费了一个球。那既然有两个球,可不可以用简单的折半法呢,比如50层扔一个,没碎的话,用另一个球从51层往上扔,最坏的情况下是1+49...原创 2018-12-22 15:35:23 · 3146 阅读 · 0 评论 -
面试算法02-爬楼梯
这是一个常见的算法题,在面试中经常碰到:一栋楼有n阶楼梯,你只可以一次走一阶,或者一次走两阶,问走完n阶总共有多少种不同的走法?首先我们假设n阶的走法总共有f(n)f(n)f(n)种走法,那么对应的,第n-1阶为f(n−1)f(n-1)f(n−1)种走法,第n-2阶为f(n−2)f(n-2)f(n−2)种走法,那么以上3个值有没有什么关系呢?我们首先看下第n-1阶的,既然走到第n-1阶为...原创 2018-12-11 16:24:04 · 392 阅读 · 0 评论