随笔分类 -  算法积累

摘要:题目描述: 有100枚硬币躺在桌子上, 每一枚都有正面和反面。其中10枚正面朝上,90枚反面朝上你不能摸、看或者其他方法来判断每一枚硬币哪面朝上。现在把硬币分成两堆,使得每一堆都有同样数量的正面向上的硬币。 思路(假设解题过程都是闭着眼睛):将硬币分成两堆,一堆10个,另一堆90个,然后将10的小堆 阅读全文
posted @ 2017-01-20 12:16 仰望星辰 阅读(902) 评论(0) 推荐(0)
摘要:在网上找了好久,想找一个现成的方法来用,折腾半天发现没有一个好用的,最后迫不得已自己写了一个,需要的同学可以直接拿去用, 阅读全文
posted @ 2016-08-01 14:54 仰望星辰 阅读(1619) 评论(1) 推荐(0)
摘要:最大公约数1. 用最基本的循环遍历的方法2. 用辗转相除法3. 用辗转相减法See also: http://baike.baidu.com/view/47637.htm 1 #include 2 using namespace std; 3 4 int CommonDivisor( int x,... 阅读全文
posted @ 2014-11-20 14:23 仰望星辰 阅读(573) 评论(0) 推荐(0)
摘要:原理如何判断一个点在多边形内还是多边形外,最常见的方法就是射线法,原理就是,从点P开始,做一条任意的射线,如果射线与多边形边的交点个数为偶数个则表明点在多边形外,交点个数为奇数个时则表明点在多边形内。如果点在多边形内部时,无论如何画射线都会有交点,且为奇数个。如下图:实现(C#) 1 public... 阅读全文
posted @ 2014-06-12 14:57 仰望星辰 阅读(1439) 评论(0) 推荐(0)
摘要: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... 阅读全文
posted @ 2013-12-19 09:38 仰望星辰 阅读(646) 评论(0) 推荐(0)
摘要:有人买了9000克的米,他想先称出2000克送到他 妈妈那。可是手头只有一台天平,以及50 克和200克的砝码各一枚。他该怎么办,才能只称三次就称出2000克呢?该问题的思考时间为1分钟,你完成了吗?解决方法第一步 和第二步 都均分得到2250克。第三步 从2250中用天平秤出250 得到2000克即可. 阅读全文
posted @ 2013-02-22 12:59 仰望星辰 阅读(227) 评论(0) 推荐(0)
摘要:自己对一个翻牌算法的实现:题目:拿出从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 =... 阅读全文
posted @ 2013-02-21 20:53 仰望星辰 阅读(379) 评论(1) 推荐(0)