搜索插入位置

java版本

class Solution{
public int searchInsert(int[] nums, int target){
int left=0;
int right=nums.length-1;
while(left<=right):{
int mid=left+(right-left)/2;
if(target==nums[mid]){
return mid;
}
//对于存在的单独的处理了,单独的return
if(target right=mid;
}
else{
left=mid+1;
}
}
return left;
}
}
//上述过程中不存在的情况的终止情况是找到这个目标值为止
//二分法可以查找,不管存不存在,都可以找到
//二分法定位,在就是mid,不在时找到结束,他的位置是left
//查找,定位,mid,left,找到为止

python版本

class Solution(object):
def searchInsert(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: int
"""
i = 0
if target in nums :
return nums.index(target)

在的情况

    else:
        for i in range(len(nums)):
            if target > nums[i] and i != len(nums)-1:
                continue
               #找到比target大的那个数为止,就插入进去,此时原来这个数的为止就被该数所占领-return i
            elif target < nums[i]:
                return i
            else:
                return len(nums)

不在的情况

你可能感兴趣的:(搜索插入位置)