import java.util.*;
public class MagicIndex {
public boolean findMagicIndex(int[] A, int n) {
// write code here
return handData(A, 0, n - 1);
}
public boolean handData(int[] A, int left, int right) {
if (left >= right) {
return false;
}
int i = left + (right - left) / 2;
if (i == A[i]) {
return true;
} else{
return handData(A, left , i) || handData(A, i+1 , right);
}
}
}
思路 :二分法 解决,但是要注意 两边都可能存在 数



京公网安备 11010502036488号