问题描述:
解答:
class Solution {
public int search(int[] nums, int target) {
int low=0,high=nums.length-1;
while(low<=high){
int mid =(high-low)/2+low;
int num = nums[mid];
if(num==target){
return mid;
}else if(num > target){
high=mid-1;
}else{
low=mid+1;
}
}
return -1;
}
}
思路:
问题描述:
解答:
/* The isBadVersion API is defined in the parent class VersionControl.
boolean isBadVersion(int version); */
public class Solution extends VersionControl {
public int firstBadVersion(int n) {
int low = 1, high = n;
while(low<high){
int mid = (high-low)/2 + low;
if(isBadVersion(mid)){
high = mid;
}else{
low = mid + 1;
}
}
return low;
}
}
思路:
问题描述:
解答:
class Solution {
public int searchInsert(int[] nums, int target) {
int low=0,high=nums.length-1,mid=0;
while(low<=high){
mid = (high-low)/2+low;
if(nums[mid]<target){
low=mid+1;
}else if(nums[mid]>target){
high = mid-1;
}else{
return mid;
}
}
return low;
}
}
思路: