cheng_you_know

学而时习之!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2013年8月14日

摘要: 转自:http://www.cnblogs.com/itachi7/archive/2012/09/10/2679554.html1.有一个整数数组,请求出两两之差绝对值最小的值,记住,只要得出最小值即可,不需要求出是哪两个数。思路:若有a[n]个数 构造b[n] 其中 b[i] = a[i] - a[i -1] 这样a[n]中任意两个数之差 就可以用 b[i] +...+b[j] = (a[i]-a[i-1])+(a[i+1]-a[i])..+(a[j]-a[j-1]) = a[j]-a[i-1]因此 再利用最大连续子序列和的类似方法O(n) 即可求出 (还是有问题 当数组为 {1,20,. 阅读全文
posted @ 2013-08-14 11:14 cheng_you_know 阅读(251) 评论(0) 推荐(0)

摘要: 转自:http://www.cnblogs.com/hrlnw/archive/2012/11/27/2777337.html蓄水池抽样(Reservoir Sampling)是一个很有趣的问题,它能够在o(n)时间内对n个数据进行等概率随机抽取,例如:从1000个数据中等概率随机抽取出100个。另外,如果数据集合的量特别大或者还在增长(相当于未知数据集合总量),该算法依然可以等概率抽样。说蓄水池抽样之前,先说一下等概率随机抽取问题,等概率随机抽取是一个很有用的东西,因为在很多情况下,尤其是搞模式识别时,需要这个东西。比如,我们想从10000个样本中随机抽取5000个作为训练集,5000个作为 阅读全文
posted @ 2013-08-14 00:55 cheng_you_know 阅读(342) 评论(0) 推荐(0)

摘要: 动态申请一个二维数组也很常见,下面是常见的两种形式。//方法1unsigned char** pImg= new unsigned char*[m];for(int i=0;i<m;i++){ pImg[i]=new unsigned char[n];}//方法2unsigned char** pImg= new unsigned char*[m];unsigned char* arr= new unsigned char[m*n];for(int i=0;i<m;i++){ pImg[i]=arr[i*n];}方法1:分开申请内存;释放内存:for(int i =0;i<m 阅读全文
posted @ 2013-08-14 00:39 cheng_you_know 阅读(697) 评论(0) 推荐(0)