9月9日,迅雷2014校招笔试编程题:

  已知集合A和B的元素分别用不含头结点的单链表存储,函数difference()用于求解集合A与B的差集,并将结果保存在集合A的单链表中。例如,若集合A={5,10,20,15,25,30},集合B={5,15,35,25},完成计算后A={10,20,30}。

  链表结点的结构类型定义如下:

  [cpp] view plaincopyprint?

  struct node

  {

  int elem;

  node* next;

  };

  struct node

  {

  int elem;

  node* next;

  };

  请完成函数void difference(node** LA , node* LB)

  点评:参考答案或更多题目请参见:http://blog.csdn.net/hackbuteer1/article/details/11482103。

  9月10日,美团网2014校招研发笔试哈尔滨站

  1、链表翻转。给出一个链表和一个数k,比如链表1→2→3→4→5→6,k=2,则翻转后2→1→4→3→6→5,若k=3,翻转后3→2→1→6→5→4,若k=4,翻转后4→3→2→1→5→6,用程序实现

  点评:类似编程艺术第1章左旋转字符串,见:http://blog.csdn.net/v_JULY_v/article/details/6322882。

  2、一个m*n的矩阵,从左到右从上到下都是递增的,给一个数elem,求是否在矩阵中,给出思路和代码

  点评:杨氏矩阵查找,见编程艺术第23章:http://blog.csdn.net/v_july_v/article/details/7085669。

  9月14日,阿里巴巴2014校招笔试哈尔滨站

  1、宿舍内5个同学一起玩对战游戏。每场比赛有一些人作为红方,另一些人作为蓝方。请问至少需要多少场比赛,才能使任意两个人之间有一场红方对蓝方和蓝方对红方的比赛?答案为4场,参考如下图,作者doc_sgl:

  点评:其余题目请参见:http://blog.csdn.net/doc_sgl/article/details/11695671。

  2、一个有10亿条记录的文本文件,已按照关键字排好序存储。请设计算法,可以快速的从文件中查找指字关键字的记录。