int left=0,right=nums.length-1; while (left<=right) { int mid = left + (right - left) / 2; if (nums[mid]<target){ left=mid+1; } if (nums[mid]>target){ right=mid-1; } if (nums[mid]==target){ int min = mid; for (int i=mid;i>=left;i--){ if (nums[i]==target) { min=Math.min(min,i); } } re[0]=min; int max=mid; for (int i=mid;i<=right;i++){ if (nums[i]==target){ max=Math.max(max,i); } } re[1]=max; return re; } } return re; } }
近期评论