算法与数据结构
hongjuntu123
这个作者很懒,什么都没留下…
展开
-
爬楼梯算法
爬楼梯问题迭代算法解! 有一段楼梯有10级台阶,规定每一步只能跨一级或两级或三级,要登上第10级台阶有几种不同的走法? 思路:0节楼梯: 1 (0)1节楼梯: 1 (1)2节楼梯: 2 (11、 2)3节楼梯: 4 (111、 12、 21、 3)4节楼梯: 7 (1111、 121、 211、 31、原创 2012-11-28 23:21:24 · 773 阅读 · 0 评论 -
C/C++ 在已排序好的数列中插入一个数,使数列保持从小到大的顺序。
void Insert(int a[N],n){for(int i=0;i<N-1;i++){if(a[i]<n&&n<a[i+1]){N++;for(int j=N;j>i;j--)a[j-1]=a[j-2];a[i+1]=n;}}}原创 2012-11-29 00:32:28 · 642 阅读 · 0 评论 -
新浪笔试2012.11.21
新浪笔试题 1如何判断单链表是否有环?给定一个单链表,只给出头指针h:1、如何判断是否存在环?2、如何知道环的长度?3、如何找出环的连接点在哪里?4、带环链表的长度是多少? 解法:1、对于问题1,使用追赶的方法,设定两个指针slow、fast,从头指针开始,每次分别前进1步、2步。如存在环,则两者相遇;如不存在环,fast遇到NULL退出。2、对于问题2,记原创 2012-11-23 22:41:05 · 219 阅读 · 0 评论 -
十道海量数据处理面试题与十个方法大总结
第一部分、十道海量数据处理面试题 1、海量日志数据,提取出某日访问百度次数最多的那个IP。 此题,在我之前的一篇文章算法里头有所提到,当时给出的方案是:IP的数目还是有限的,最多2^32个,所以可以考虑使用hash将ip直接存入内存,然后进行统计。 再详细介绍下此方案:首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32转载 2013-03-31 16:22:07 · 304 阅读 · 0 评论 -
<编程之美>计算0到N中包含数字1的个数[转]
有这样一个函数f(n),对于任意正整数n,它表示从 0 到 n 之间出现“1”的个数,比如 f(1) = 1, f(13) = 6,请列出从 1 到 1234567890 中所有的 f(n) = n 的n, 要求准确快速. 相信很多人都能立刻得出以下的解法: for(n:N) { 判断n包含1的个数; 累加计数器; }这是最转载 2013-03-31 16:20:57 · 1979 阅读 · 0 评论