算法汇总
文章平均质量分 55
james_cil
这个作者很懒,什么都没留下…
展开
-
元素相加交换另解&puts的一个用法
#include using namespace std; int main(){ int a,b; cin>>a>>b; a^=b; b^=a; //交换 a^=b; cout<<a<<" "<<b<<endl; puts(a?"Stan wins.":"Ollie wins."); return 0; }原创 2014-07-16 10:08:00 · 461 阅读 · 0 评论 -
牛顿迭代法求根
给定一个正数a,不用库函数求其平方根。 设其平方根为x,则有x2=a,即x2-a=0。设函数f(x)= x2-a,则可得图示红色的函数曲线。在曲线上任取一点(x0,f(x0)),其中x0≠0那么曲线上该点的切线方程为 (1-1) 求该切线与x轴的交点得原创 2014-07-17 16:05:43 · 1149 阅读 · 0 评论 -
经典面试题(一)附答案 算法+数据结构+代码 微软Microsoft、谷歌Google、百度、腾讯
1. 有一个整数数组,请求出两两之差绝对值最小的值。记住,只要得出最小值即可,不需要求出是哪两个数。(Microsoft) 方法1:两两作差求绝对值,并取最小,O( n2 )。 方法2:排序,相邻两点作差求绝对值,并取最小,O( nlgn ). 方法3:有没有O( n )的解法?网上有如下解法: 设数组A = { a1, a2, … , an }, 求 s原创 2014-07-17 20:35:00 · 928 阅读 · 0 评论 -
已知一个数出现的次数超过了一半,请用O(n)的复杂度的算法找出这个数
#include using namespace std; //#define maxn 2000010 #include //int a[maxn]; //int val[maxn]; int main(){ int t; scanf("%d",&t); int i; // memset(val,0,sizeof(val)); int k=2*t; i原创 2014-09-30 15:28:09 · 645 阅读 · 0 评论 -
BloomFilter——大规模数据处理利器(爬虫判重)
http://www.cnblogs.com/heaad/archive/2011/01/02/1924195.html Bloom Filter是由Bloom在1970年提出的一种多哈希函数映射的快速查找算法。通常应用在一些需要快速判断某个元素是否属于集合,但是并不严格要求100%正确的场合。 一. 实例 为了说明Bloom Filter存在的重要意义,举一转载 2015-06-06 19:49:28 · 1627 阅读 · 0 评论