迅雷2014笔试题答案

题目来源:http://www.itmian4.com/forum.php?mod=viewthread&tid=3427&extra=&page=1

一,1, B;     2, A;     3,D;    4,D;    5,c;   6,A;   7,B;    8,B;   9,C;   10,  B;    11, C;     12, 不会    13, A;    14,D;   15,B;

         16, D;    17,D;    18,C;    19,B;   20,A;  

二,多选:

     1,ACD;   2,AC;   3,BC;   4,BD;  5,BCD;  6,ABC;  7,ABCD; 8,AD;  9,BCD;10ABC    

三,1.    break;       cur_node_ptr=cur_node_ptr->next;    last_tail=new_node_ptr;     delete temp_ptr;

         2.   pa=*LA;       ;     *pb==*pa;                                           pre=pa;              

         3. next[i]=i;     





四.此题一开始想到的是分行祸首列进行二分,复杂度为O(mlgn),在群里兄弟的提示下,知道是offer上的题目,看了半天终于懂了,贴代码如下:

bool search(int *arr,int m,int n,int key)
{
  assert(arr!=NULL && m!=0 && n!=0);
  int row=0;
  int column=n-1;
  bool bResult=false;
  
  while(row<=n-1&&column>=0)
  {
    if(arr[row*n+column]==key)
  {
   bResult=true;
   break;
  
  }else if(arr[row*n+column]>key)
	{
    column--;
    }
    else
    row++;

 
  }
  return bResult;

return  true;
}

五 2

int calc_utf8_count(unsigned char* data_ptr,unsigned int data_len )
{ 
	assert(data_ptr!=NULL && data_len>0); 
         int count=0;
	for(int i=0;i<data_len;++i)
	{
      if(!(data_ptr[i]&0x80))
	  {
		  count++;
		  continue;
          
	  }
	  else if (data_len-1-i>=1  &&  ((data_ptr[i]>>7)&(data_ptr[i]>>6)&( (data_ptr[i]>>5)^0x01 )&0x01)  && (  (data_ptr[i+1]>>7) & (data_ptr[i+1]>>6^0x01) ))
	  {
	   
	   count++;
	   
	   i=i+1;
       continue;	
	  }
	  else if(data_len-1-i>=2  &&(  (data_ptr[i]>>7)&(data_ptr[i]>>6)& (data_ptr[i]>>5)& 0x01 &data_ptr[i]>>4^0x01 )  &&   ( (data_ptr[i+1]>>7) & (data_ptr[i+1]>>6^0x01) )  &&  ((data_ptr[i+2]>>7) & (data_ptr[i+2]>>6^0x01) ) )
	  {
	   count++;
	   i=i+2;
	   continue;
	  }
	  else
	  {
	   count=-1;//不是utf8字节流
	   break;
	  
	  }
	}

	return count;

}

多选:

  ABCD;  BC;  BD;  ABC;  AC;  

主观题:

1.  不会

 

2.  16;

      12;

     

       12;

       8;

   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值