(LeetCode)Search Insert Position --- 二分搜索

来源:互联网 发布:如何注册淘宝联盟 编辑:程序博客网 时间:2024/06/05 11:32

Given a sorted array and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order.

You may assume no duplicates in the array.

Here are few examples.
[1,3,5,6], 5 → 2
[1,3,5,6], 2 → 1
[1,3,5,6], 7 → 4
[1,3,5,6], 0 → 0


解题分析:

我们可以利用二分搜索解决此类问题:

# -*- coding:utf-8 -*-class Solution(object):    def searchInsert(self, nums, target):        left = 0        right = len(nums) - 1        while left <= right:            mid = (left + right) / 2            if nums[mid] < target:                left = mid + 1            elif nums[mid] > target:                right = mid - 1            else:                return mid        return left





原创粉丝点击