import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 如果目标值存在返回下标,否则返回 -1 * @param nums int整型一维数组 * @param target int整型 * @return int整型 */ public int search (int[] nums, int target) { // write code here int f = 0; int l = nums.length-1; int mid = 0; while(f<=l){ mid = f+(l-f)/2; //防溢出 等同于(f+l)/2; if(target<nums[mid]){ l = mid-1; } else if(target>nums[mid]){ f = mid + 1; } else { while(mid!= 0&&nums[mid] == nums[mid-1]){ mid--; } return mid; } } return -1; } }