问题描述
有这样一个数组A,大小为n,相邻元素差的绝对值都是1。如:A={4,5,6,5,6,7,8,9,10,9}。现在,给定A和目标整数t,请找到t在A中的位置。除了依次遍历,还有更好的方法么?
public static int find(int[] array, int target){
if(null == array || array.length == 0){
return -1;
}
int next = Math.abs(target - array[0]);
while(next < array.length){
if(array[next] == target){
return next;
}
next += Math.abs(target - array[next]);
}
return -1;
}