这道理一点没有弯弯绕绕,直接告诉你考binary search,那咱也不客气了,直接上算法,beat 100%,时间复杂度就不用啰嗦了。
public int search(int[] nums, int target) { int l=0, r = nums.length-1, mid=0; while(l<=r){ mid = (l+r)/2; if(nums[mid] == target) return mid; else if(nums[mid]<target){ l=mid+1; }else{ r = mid-1; } } return -1; }