题目:已经两个已经排好序的数组,找出两个数组合起来的中间大的数字。要求算法复杂度尽可能低。如:x数组:1,7,9,10,30 y数组:3,5,8,11 则中间大数为:8 双指针同时有序遍历。时间复杂度O((m+n)/2) int GetMaxValue(int a[], int m, int b[], int n) { int maxValue = a[0]; int i = 0, j = 0; int midIndex = (m+n)/2; while(i < m && j < n) { if((i+j) == midIndex) return maxValue; if(a[i] > b[j]) { maxValue = a[i]; j++; } else { maxValue = b[j]; i++; } } if(i == m) { maxValue = b[midIndex - m]; } else { maxValue = a[midIndex - n]; } return maxValue; }