美文网首页
Leetcode_35 Search Insert Positi

Leetcode_35 Search Insert Positi

作者: vcancy | 来源:发表于2018-04-19 17:17 被阅读0次

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。

你可以假设数组中无重复元素。

示例 1:

输入: [1,3,5,6], 5
输出: 2
示例 2:

输入: [1,3,5,6], 2
输出: 1
示例 3:

输入: [1,3,5,6], 7
输出: 4
示例 4:

输入: [1,3,5,6], 0
输出: 0


"""
已排序这个条件下,主要考察二分搜索,当未找到时直接返回最后一次判断的数组位置即可
"""

class Solution:
    def searchInsert(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: int
        """
        low, high = 0, len(nums)
        while low < high:
            mid = (low + high) // 2
            guess = nums[mid]
            if target > guess:
                low = mid + 1
            elif target < guess:
                high = mid
            else:
                return mid
        return low #未找到target最后一次判断的位置就是插入位置

相关文章

网友评论

      本文标题:Leetcode_35 Search Insert Positi

      本文链接:https://www.haomeiwen.com/subject/htzwkftx.html