JAVA重现二分法查找。
重点在于find方法中索引的添加以及更新的方法。
import java.util.*; public class MagicIndex { public boolean findMagicIndex(int[] A, int n) { // write code here return find(A,0); } public boolean find(int[] a,int index){ if(a.length == 0) return false; int len = a.length / 2; if(a[len] == len + index) return true; boolean x = find(Arrays.copyOfRange(a,0,len),0); boolean y = find(Arrays.copyOfRange(a,len+1,a.length),index + len + 1); return x||y; } }