随笔分类 -  面试题

求有向图的最长路径
摘要:题目:有n 个长为m+1 的字符串,如果某个字符串的最后m 个字符与某个字符串的前m 个字符匹配,则两个字符串可以联接,问这n 个字符串最多可以连成一个多长的字符串,如果出现循环,则返回错误。这个题目转化为图来做,设每个字符串看做一个顶点,如果(u,v)满足u的后m个字符和v的前m个字符匹配,则连边,权值设置为1即可。然后针对建好的图,进行拓扑排序,并检查是否有环,如果有环,直接返回false,如果互换,则进行求最长路径。求最长路径,我们可以根据floy来求,算法中直接将最短改为最长即可。下面是一种新的方法求最长路径,用到拓扑排序的结果。该思路的本质是利用动态规划,假设dist[v]表示以v结 阅读全文

posted @ 2012-10-06 12:26 buptLizer 阅读(12383) 评论(0) 推荐(0)

字符串数组排序(qsort参数 比较函数)
摘要:这个问题来自一个面试题。给两个文件,其中一个文件存在一万行左右的文本,将所有数据以行为元素进行排序,输出到文件2中。拿到这个题,一看数据量大约一万行,内存应该没问题,感觉直接调用库函数qsort,写个cmp函数就很容易搞定,没想到调试程序发现了一个小问题。分析程序代码:const int MAXLINE = 100;const int MAXLEN = 256;int mycmp(const void *p1, const void *p2){char* s1 = (char *)p1;char* s2 = (char *)p2;cout<<s1<<" &qu 阅读全文

posted @ 2012-04-12 20:14 buptLizer 阅读(7138) 评论(0) 推荐(1)

有道笔试面试题(1)
摘要:最基本:虚函数,quick sort,三次握手 ok,进程通信 1.虚函数 作用:实现动态联编,即在程序执行期间动态的选择合适的成员函数。 封装、继承和多态。 2.快排 void quickSort(int l,int r) { if(lb[j]) {++j;} else {++i;} } } 12.//最大子矩阵和 m[N][N] int getMaxSub(int *a,int len) { int curMax; curMax=a[0]; for(i=0;i>n>>m; for(int i=0;iresult) result=tmp; } } } 13.//链表快排 n 阅读全文

posted @ 2011-09-22 15:13 buptLizer 阅读(838) 评论(0) 推荐(0)

钩子函数(一道面试题的启发)
摘要:在10M的源码中查找内存泄露。这个是网上随便看的一个面试题,看到博主写的解法,提到一个钩子函数,我连什么是钩子函数都不知道,人家都能想到用这个方法来解决,感觉自己太龊了,如果面试中问到这种题,肯定挂了。下面先介绍下钩子函数。摘至网上:钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。这时钩子函数即可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。对每种类型的钩子由系统来维护一个钩子链,最近安装的钩子放在链的开始,而最先安装的钩子放在最后,也就是后加入的先获 阅读全文

posted @ 2011-09-22 13:25 buptLizer 阅读(459) 评论(0) 推荐(0)

转 海量数据处理(2)
摘要:十七道海量数据处理面试题与Bit-map详解出处:http://blog.csdn.net/v_july_v前言 本博客内曾经整理过有关海量数据处理的10道面试题(十道海量数据处理面试题与十个方法大总结),此次除了重复了之前的10道面试题之后,重新多整理了7道。仅作各位参考,不作它用。 同时,程序员编程艺术系列将重新开始创作,第十一章以后的部分题目来源将取自下文中的17道海量数据处理的面试题。因为,我们觉得,下文的每一道面试题都值得重新思考,重新深究与学习。再者,编程艺术系列的前十章也是这么来的。若您有任何问题或建议,欢迎不吝指正。谢谢。第一部分、十五道海量数据处理面试题1. 给定a、b两个文 阅读全文

posted @ 2011-09-13 21:21 buptLizer 阅读(232) 评论(0) 推荐(0)

转 海量数据处理(1)
摘要:海量数据处理:十道面试题与十个海量数据处理方法总结出处:http://blog.csdn.net/v_JULY_v。------------------------------------------第一部分、十道海量数据处理面试题1、海量日志数据,提取出某日访问百度次数最多的那个IP。 首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的IP(可以采用hash_map进行频率统计,然后再找出频率最大的几个)及相应的频率。 阅读全文

posted @ 2011-09-13 21:20 buptLizer 阅读(365) 评论(0) 推荐(0)

大数据处理小结
摘要:1.从海量数据中找出中位数题目:在一个文件中有 10G 个整数,乱序排列,要求找出中位数。内存限制为 2G。只写出思路即可。方案1:网上的解法都是千篇一律,方法都是将整数分段,映射都n个区间段,然后对每个区间段计数,当curSum>5G的时候停止计数,并统计中位数所在区间的每个取值的个数进行第二次统计,这样就得到了第5G大的数据了,这个的确是个好方法吧,算法的时间复杂度是线性的,因为是遍历了两次数据。方案2:采用编程之美上的一个思路,我们无法将5G的数据装入内存,那么就转入相对小的数据。比如取k为2G,我们利用最大堆,找出第2G大的数据,然后再遍历一次,找到第4G大的数据,然后建立1G大 阅读全文

posted @ 2011-09-13 21:18 buptLizer 阅读(506) 评论(0) 推荐(0)

转载一篇好文章:《海量数据处理常用思路和方法》
摘要:最近有点忙,稍微空闲下来,发篇总结贴。 大数据量的问题是很多面试笔试中经常出现的问题,比如baidu google 腾讯 这样的一些涉及到海量数据的公司经常会问到。 下面的方法是我对海量数据的处理方法进行了一个一般性的总结,当然这些方法可能并不能完全覆盖所有的问题,但是这样的一些方法也基本可以处理绝大多数遇到的问题。下面的一些问题基本直接来源于公司的面试笔试题目,方法不一定最优,如果你有更好的处理方法,欢迎与我讨论。 1.Bloom filter 适用范围:可以用来实现数据字典,进行数据的判重,或者集合求交集 基本原理及要点: 对于原理来说很简单,位数组+k个独立hash函数。将hash函数对 阅读全文

posted @ 2011-09-11 21:31 buptLizer 阅读(257) 评论(0) 推荐(0)

一些面试题(3)
摘要:转载:http://gushuizerotoone.iteye.com/blog/7457311.stl vector list deque的区别 http://www.iteye.com/wiki/topic/732365 使用区别: 1 如果你需要高效的随即存取,而不在乎插入和删除的效率,使用vector ,支持[] 2 如果你需要大量的插入和删除,而不关心随即存取,则应使用list ,不支持[] 3 如果你需要随即存取,而且关心两端数据的插入和删除,则应使用deque,deque是vector和list的结合 2.vector的内存管理机制: http://blog.sina.co... 阅读全文

posted @ 2011-09-03 11:40 buptLizer 阅读(249) 评论(0) 推荐(0)

一些面试题(2)
摘要:转载:http://gushuizerotoone.iteye.com/blog/737780注意时间复杂度 1.给出一个数列,找出连续相加最大的和 方法:(1)O(n) 一次扫描,如果sum<0, sum = 0. 英文数据结构书p23 (2)O(nlogn) devide and conqure 左右两边分别找最大,合并后的值,看看最后左、右、合并三个哪个最大 英文数据结构书p21 ================================================================= 2.二分查找 O(logN)整个数列已经之前排过序才能二分查找。每次比较 阅读全文

posted @ 2011-09-03 11:34 buptLizer 阅读(654) 评论(0) 推荐(0)

一些面试题(1)
摘要:转载 http://blog.csdn.net/dongfengsun/article/details/1541926今天去9City笔试才发现很多基本的东西都忘记了,以后面试前要看看这篇文章了!唉,老了!①链表反转单向链表的反转是一个经常被问到的一个面试题,也是一个非常基础的问题。比如一个链表是这样的: 1->2->3->4->5 通过反转后成为5->4->3->2->1。最容易想到的方法遍历一遍链表,利用一个辅助指针,存储遍历过程中当前指针指向的下一个元素,然后将当前节点元素的指针反转后,利用已经存储的指针往后面继续遍历。源代码如下:stru 阅读全文

posted @ 2011-09-03 11:30 buptLizer 阅读(523) 评论(0) 推荐(0)

导航