码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode35题:搜索插入位置(不是最优解法,仅供参考)

时间:2018-08-08 10:34:51      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:搜索   lse   turn   arch   重复   int   type   顺序   输入   

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

示例 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 = 0   
  high = len(nums)-1

  while low <= high:
    mid = (low+high)//2
    if target <nums[mid]:
      high = mid - 1
    elif target > nums[mid]:
      low = mid + 1
    else:
      return mid
  return low
a = Solution()
print(a.searchInsert([1,3,5,6],2))

leetcode35题:搜索插入位置(不是最优解法,仅供参考)

标签:搜索   lse   turn   arch   重复   int   type   顺序   输入   

原文地址:https://www.cnblogs.com/hello-lwz/p/9440989.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!