• google 笔试题 - [学习]

    2008-08-29

    Tag:

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://www.blogbus.com/chaoyueziwo21-logs/28309074.html

    在一个集合S中寻找最大的C使A+B=C且A,B,C均在集合当中
    解答(原创)
    1,将集合S中的数排序X1<=X2<=X3.............Xn;
    2,for(i=n;i>0;i--)
    {
    for(j=0,k=i-1;k>j;)
    {
    if(Xj+Xk>Xi)
    {
          k--;
     }
    else if(Xj+Xk<Xi)
    {
          j++;
    }
    else
    {
      A=Xj;
      B=Xk;
      C=Xi;
      break;
    }

    }

    分享到: