题解 | #在排序数组中查找数字 I#
在排序数组中查找数字 I
http://www.nowcoder.com/practice/f72a130868214313b07dc3866d91fd10
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型一维数组
* @param target int整型
* @return int整型
*/
public int search (int[] nums, int target) {
// write code here
int len=nums.length;
int left=0;
int right=len-1;
while(left<right){
int mid=left+(right-left)/2;
if(nums[mid]>=target){
right=mid;
}else{
left=mid+1;
}
}
int i=left;
if(nums[left]!=target){
return 0;
}
left=0;
right=len-1;
while(left<right){
int mid=left+(right-left+1)/2;
if(nums[mid]<=target){
left=mid;
}else{
right=mid-1;
}
}
int j=left;
return j-i+1;
}
}
查看11道真题和解析
