您的位置:首页 > 职场人生

接着写某狼厂面试题目经验2015

2015-10-13 23:08 330 查看
最大连续子序列问题,也是出自编程之美。

咋做呢?当然是把结果累加,一旦累加和小于0,那么前面部分可以丢弃掉。

但如果需要具体子序列的位置时,采用动态规划的方法更合理,从后往前探测:

int maxSum(int* a,int n)

{

  int nStart=a[n-1];

  int nAll=a[n-1];

  int start=n-1;

  int end=n-1;

  for(int i=n-2;i>=0;--i)

  {

    if(nStart<0)

    {

      nStart=0;

      end=i;

      start=i;

    }

    nStart+=a[i];

    if(nStart>nAl)

    {

      nAll=nStart;

      start=i;

    }

  }

   cout<<"start="<<start

    <<"\t"<<"end="<<end<<endl;

   return nAll;

}

希尔排序怎么做?

void shellSort(int* a,int len,int* delta,int m)

{

  for(int i=0;i<m;++i)

    shellInsert(a,len,dleta[i]);

}

void shellInsert(int* a,int len,int c)

{

  int t,j;

  for(int i=c;i<len;++i)

  {

  if(a[i]<a[i-c])

  {

    t=a[i];

    for(j=i-c;j>=0 && t<a[j]; j=j-c)

      a[j+c]=a[j];

    a[j+c]=t;

  }

  }

}

用UDP怎么实现TCP?

简单来说,除了三次握手,四次挥手之外,还需要考虑滑动窗口(双方接发收模块协定的窗口大小)。超时和重传,慢启动拥塞控制,安全性,定时器。接口规范。

丢手机测试哪层会摔坏。

x+(x-1)+...+1=N,当N=100时,结果为14。

HTTP协议的主要特点概括如下:

1.支持客户/服务器模式。

2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。

由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。

3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。

4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

5.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

洗牌算法的要求是这样的:将N个数乱序后输出.由于和扑克牌的洗牌过程比较相似所以我也就称为洗牌算法了.很多地方都不自觉的需要这个算法的支持.也可以将这个算法扩展为从N个数中取出M个不重复的数(0<M<=N)。

经典的做法是:

void MySwap(int &x, int &y)

{

    int temp = x;

    x = y;

    y = temp;

}

void Shuffle(int n)

{

    for(int i=n-1; i>=1; i--)

    {

        MySwap(num[i], num[rand()%(i+1)]);

    }

}

这个过程有点像堆排序。

N个连续自然数乱序存放于数组,其中有一个-1。怎么找出来。

我也被问到这个问题。

求和求减。

ip段去重,我也被问到了。

发表于: 2007-10-23 13:37:15
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: