第二题 int findKthSmallest(int A[], int m, int B[], int n, int k) { if (m>n) return findKthSmallest(B,n,A,m,k); if (m==0) return B[k-1]; if (k==1) return min(A[0], B[0]); int i = min(m-1,k/2); int j = k-1-i; int Ai_1 = (i==0)?INT_MIN:A[i-1]; int Bj_1 = (j==0)?INT_MIN:B[j-1]; int Ai = (i==m)?INT_MAX:A[i]; int Bj = (j==n)?INT_MAX:B[j]; if(Ai_1if(Bj_1if(Ai==Bj) return Ai; if (Aireturn findKthSmallest(A,i,B+j+1, n-j-1, k-j-1); }