从1000个数里快速找出老二
//今天去交大考试的地铁上一直在想这个问题,感觉想通了!暂时未找到极端特例与此算法冲突。
int findSecondLargeNumber(int A[n])
{
int max=A[0],max2=A[1];
if(max<max2)
{
max=max^max2;
max2=max^max2;
max=max^max2;
}// swap max and max2 without third varible;
for( int i=2;i<n;i++)
{
if(A[i]>max2)
{
if(A[i]>max)
{
max2=max;
max=A[i];
}
else
max2=A[i];
}
}
return max2;
}