Algorithm
文章平均质量分 78
taylor_tao
这个作者很懒,什么都没留下…
展开
-
微软的扔杯子问题-动态规划
在新浪微博上看到了一微软面试题题目描述一种杯子,若在第N层被摔破,则在任何比N高的楼层均会破,若在第M层不破,则在任何比M低的楼层均不会破,给你两个这样的杯子,让你在100层高的楼层中测试,要求用最少的测试次数找出恰巧会使杯子破碎的楼层。不等式解法所有讨论基于2个杯子的情况:下图中所有图示的红线均表示剩下两个杯子的时候的试摔位置,当杯子破碎后,也就是只剩下一个杯子的原创 2011-12-22 10:05:04 · 8249 阅读 · 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 · 8089 阅读 · 1 评论 -
从矩阵左上角至右下角(无权值)问题
问题来源来自于Euler Project的第十五个题目,题目不复杂,但是可以有很多种思路和解法。此外,我宿舍一姐们面试刚好碰到此题。题目链接问题描述一个 M*N 的矩阵,从矩阵的左上角到矩阵的右下角,只能向右走或者向下走,有多少种解法?例如一个2*2的矩阵,有下面六种解法。问题解法假设矩阵有M行N列。1、数学解法使用排列组合有两种思路。因为只能向右走或者原创 2011-12-14 22:18:03 · 4839 阅读 · 4 评论 -
各种二分查找
二分查找给定一个有序(不降序)数组arr。1、求任意一个i使得arr[i]等于val,不存在则返回-12、求最小的i使得arr[i]等于val,不存在则返回-13、求最大的i使得arr[i]等于val,不存在则返回-14、求最大的i使得arr[i]小于val,不存在则返回-15、求最小的i使得arr[i]大于val,不存在则返回-1一个错误的二分查找:int bis原创 2012-06-14 10:39:58 · 1334 阅读 · 0 评论