呵呵~~ 是啊~~
就是 这个O(lgn) 想的我头疼了~
http://bbs.allaboutprogram.com
这里的算法版面也有人在讨论这个题目,你有答案不妨贴过去吧。
打不开~~
算法是这样的
int F(int i)
{
if(x[i-1]>=y[n-i]&&x[i]<=y[n-i+1] ) ----------n 为 数组的个数(记住)
return x[i-1];
else
{
if(x[i-1]<y[n-i]&&x[i]<=y[n-i+1])
return F(n/2+i/2);
if(x[i-1]>y[n-i+1]&&x[i]>=y[n-i])
return F(i/2);
else{
if(x[i-1]>=y[n-i]&&x[i]<=y[n-i+1] ) ----------n 为 数组的个数(记住)
return x[i-1];
else
{
if(y[i-1]<x[n-i]&&y[i]<=x[n-i+1])
return F(n/2+i/2);
if(y[i-1]>x[n-i+1]&&y[i]>=x[n-i])
return F(i/2);
}
}
}