public static int search(int[] nums, int target) { //双指针 int left=0,right=nums.length-1; int mid=0; int res = -1; while (left<=right){ //防止int溢出如果是写为(left+right)/2 可能会很大 mid=left+(right-left)/2; if (nums[mid]==target){ res=mid; break; }if (nums[mid]>target){ right = mid - 1; }else { left = mid + 1; } } return res; }