随笔分类 - 算法积累
摘要:题目描述: 有100枚硬币躺在桌子上, 每一枚都有正面和反面。其中10枚正面朝上,90枚反面朝上你不能摸、看或者其他方法来判断每一枚硬币哪面朝上。现在把硬币分成两堆,使得每一堆都有同样数量的正面向上的硬币。 思路(假设解题过程都是闭着眼睛):将硬币分成两堆,一堆10个,另一堆90个,然后将10的小堆
阅读全文
摘要:在网上找了好久,想找一个现成的方法来用,折腾半天发现没有一个好用的,最后迫不得已自己写了一个,需要的同学可以直接拿去用,
阅读全文
摘要:最大公约数1. 用最基本的循环遍历的方法2. 用辗转相除法3. 用辗转相减法See also: http://baike.baidu.com/view/47637.htm 1 #include 2 using namespace std; 3 4 int CommonDivisor( int x,...
阅读全文
摘要:原理如何判断一个点在多边形内还是多边形外,最常见的方法就是射线法,原理就是,从点P开始,做一条任意的射线,如果射线与多边形边的交点个数为偶数个则表明点在多边形外,交点个数为奇数个时则表明点在多边形内。如果点在多边形内部时,无论如何画射线都会有交点,且为奇数个。如下图:实现(C#) 1 public...
阅读全文
摘要:int TransformImageBuffer(unsigned char* pImageBuffer, int width, int height,unsigned char* targetImageBuffer){ //center flip int nRet = 0; int length = width * height; for(int i = 0; i < length / 2; i++) { targetImageBuffer[i] = pImageBuffer[length -i -1]; targetImag...
阅读全文
摘要:有人买了9000克的米,他想先称出2000克送到他 妈妈那。可是手头只有一台天平,以及50 克和200克的砝码各一枚。他该怎么办,才能只称三次就称出2000克呢?该问题的思考时间为1分钟,你完成了吗?解决方法第一步 和第二步 都均分得到2250克。第三步 从2250中用天平秤出250 得到2000克即可.
阅读全文
摘要:自己对一个翻牌算法的实现:题目:拿出从A到10的10张扑克牌,背面朝上摞在一起。首先把最上面的一张挪到下面,掀开新出现的一张牌是A,取出,再挪一张牌到下面,翻一张是2,依次类推,可以有顺序地翻出A到10的牌来。请问这10张牌最初是怎么排列的? 1 static void QueueImplement(int pokerCount = 10) 2 { 3 Queue primaryQueue = new Queue(); 4 Queue result = new Queue(); 5 for (int i =...
阅读全文

浙公网安备 33010602011771号