搜索插入位置

2018-10-06  本文已影响0人  3ni

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

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

示例 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(object):
    def searchInsert(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: int
        """
        i = 0
        for i in range(len(nums)):
            if target == nums[i]:
                return i
            if target < nums[i]:
                nums.insert(i, target)
                return i
        nums.insert(i+1, target)
        return i+1

思路:主要利用了list对象的insert方法。循环列表,找到就返回,如果发现有小于的,且程序没有返回,说明元素不存在,即插入,然后返回索引。注意当循环结果后都没有返回的情况。

上一篇 下一篇

猜你喜欢

热点阅读