015-力扣刷题35--搜索插入位置

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

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

示例 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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
class Solution(object):
    def searchInsert(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: int
        """
        #判断两种情况,存在array中,不存在?不管如何都是要判断的,用一个等式  
        #小的技巧就是先判断跟最大值的比较,比最大值大就加到最后面
        if target > nums[len(nums)-1]:  #这个可以降低运行总时间
            return len(nums)
        for i in range(len(nums)):
            if nums[i] >= target:  #这一个判断就可以解决两种情况,如果nums[i] = tarrget 返回这个索引是第一种情况,如果 nums[i] > target 那么这个位置就该是插入的位置,真的是妙啊
                return i