
Algorithm
文章平均质量分 78
taylor_tao
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
微软的扔杯子问题-动态规划
在新浪微博上看到了一微软面试题 题目描述 一种杯子,若在第N层被摔破,则在任何比N高的楼层均会破,若在第M层不破,则在任何比M低的楼层均不会破,给你两个这样的杯子,让你在100层高的楼层中测试,要求用最少的测试次数找出恰巧会使杯子破碎的楼层。 不等式解法 所有讨论基于2个杯子的情况: 下图中所有图示的红线均表示剩下两个杯子的时候的试摔位置,当杯子破碎后,也就是只剩下一个杯子的原创 2011-12-22 10:05:04 · 8385 阅读 · 3 评论 -
使用位运算实现乘法和乘方运算
1、使用位运算乘法。 把一个乘数变为2进制后,使用位运算完成乘数的乘法。 /* * 输入:正整数k 和 正整数m * 输出:k*m */ __int64 km(__int64 k, __int64 m){ __int64 x = k; int w = (int)floor(log(m) / log(2)) -1; __int64 e = 1 << w; fo原创 2011-12-23 11:08:59 · 8204 阅读 · 1 评论 -
从矩阵左上角至右下角(无权值)问题
问题来源 来自于Euler Project的第十五个题目,题目不复杂,但是可以有很多种思路和解法。此外,我宿舍一姐们面试刚好碰到此题。题目链接 问题描述 一个 M*N 的矩阵,从矩阵的左上角到矩阵的右下角,只能向右走或者向下走,有多少种解法? 例如一个2*2的矩阵,有下面六种解法。 问题解法 假设矩阵有M行N列。 1、数学解法 使用排列组合有两种思路。因为只能向右走或者原创 2011-12-14 22:18:03 · 4903 阅读 · 4 评论 -
各种二分查找
二分查找 给定一个有序(不降序)数组arr。 1、求任意一个i使得arr[i]等于val,不存在则返回-1 2、求最小的i使得arr[i]等于val,不存在则返回-1 3、求最大的i使得arr[i]等于val,不存在则返回-1 4、求最大的i使得arr[i]小于val,不存在则返回-1 5、求最小的i使得arr[i]大于val,不存在则返回-1 一个错误的二分查找: int bis原创 2012-06-14 10:39:58 · 1397 阅读 · 0 评论