核心思想:二分查找。
算法思想:在升序数组number是中,设定左右指针用于二分查找特定值target,对于数组中央特定值number:
1)若number=target,存在。返回i即为所求;
2)若numbertarget,则在下标i的左侧进行查询;
3)若numbertarget,则在下标i的右侧进行查找。
Java示例代码:
classSolution{
publicintsearch(int[]number,inttarget){
intlow=0;
inthigh=number.length-1;
while(low=high){
intmiddle=(high+low)/2;
intflag=number[middle];
if(flag==target){returnmiddle;}
elseif(flagtarget){high=middle-1;}else{low=middle+1;}}
return-1;}}