2-Sum问题





bool TwoSum(int* array, int nSize, int nSum, int& a, int& b)
{
   sort(array, array+nSize);


   int nBegin=0;
   int nEnd=nSize-1;
   int nCur;
   bool bFind= false;
   while(nBegin<nEnd)
   {
       nCur=array[nBegin]+array[nEnd];
  if(nCur>nSum)
  nEnd--;
  else if(nCur <nSum)
  nBegin++;
  else
  {
    bFind=true;
a=array[nBegin];
b=array[nEnd];
break;
  }
   }
   return bFind;
}

猜你喜欢

转载自blog.csdn.net/shayne_lee/article/details/51320332
今日推荐