总结面试题(他山之石)

1、HashMap与Hashtable的区别
点评:HashMap基于Hashtable实现,不同之处在于HashMap是非同步的,并且允许null,即null value和null key,Hashtable则不允许null,详见:http://oznyang.iteye.com/blog/30690。此外,记住一点:hashmap/hashset等凡是带有hash字眼的均基于hashtable实现,没带hash字眼的如set/map均是基于红黑树实现,前者无序,后者有序,详见此文第一部分:http://blog.csdn.net/v_july_v/article/details/7382693。

解法:用hashmap,200MB文件读入内存,遍历每一行,每个IP为Key,真实地址为value,构建hash.

           遍历6亿个IP,hash查找,key的value。

3、百度2014校招-武汉站-系统分析师

 个人想法:信息提取,用到的机器学习中的有关标注算法。之前看过一篇论文:手工标注训练集,条件随机场/svm。具体怎么做,待续。

 

4、10月2日,暴风影音2014校招笔试

合并两个已经排序的单链表为一个排序的单链表,相同内容只保留一个
如:单链表a:1->2->3->4
单链表b:3->4->5
输出:1->2->3->4->5

个人想法:之前见过两个已经排序的单链表合并成一个排序的单链表,没有限制相同内容只保留一个。在这应该是多加一个判定条件:如果相等,pb后移

       该题步骤:【1】设两个指针pa,pb分别指向单链表A、B头。
                           【2】比较pa/pb指针所指元素的大小:

                                         *pa==*pb     则  pb=*pb->next;

                                         *panext;

                                         *pa>*pb        则  pb结点加到pa结点的前面,注意加之前记录pb的next。

                            【3】如果pa==NULL或pb==NULL表示有一个链表到尾了,直接把另一个链表,追加就行。注意如果是pb==NULL,pa!=NULL,不用追加,因为我们pa        个正是合并以后的单链表。

 

  • 此题解法参考:http://blog.csdn.net/thebestdavid/article/details/12056293

     

     7、KMP算法(待续)

     

    注意:如果您发现错误,可以回帖指出;如果您有解法,也可以回帖。

     


     

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

  • 上一篇 2013年9月3日
    下一篇 2013年9月4日

    相关推荐