题目:给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。
你的算法时间复杂度必须是 O(log n) 级别。
思路:数组是一个顺序表,要查找元素在数组中出现的第一个和最后一个位置,可以采用两个for循环去查找,从头部和尾部找起,找到就break
代码:
public int[] searchRange(int[] nums, int target) {
int[] arr={-1,-1};
int l=nums.length/2;
if(nums.length==0)return arr;
for(int i=0;i<=nums.length-1;i++){
if(nums[i]==target){
arr[0]=i;
break;
}
}
for(int j=nums.length-1;j>=0;j--){
if(nums[j]==target){
arr[1]=j;
break;
}
}
return arr;
}