【LEETCODE】35-Search Insert Position

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


题意:

给一个排好序的数组和一个目标值,如果目标值存在,则返回角标

如果不存在,则返回 按照顺序将它insert到array后 应该放置的位置


思路:

逐个比较,注意端点,图里第二个是 r=i,不是 i-1



class Solution(object):
    def searchInsert(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: int
        """
        
        for i in range(len(nums)):
            if nums[i]>=target:
                if i==0:
                    return 0
                else:
                    return i
            elif nums[i]<target:
                if i==len(nums)-1:
                    return len(nums)
                else:
                    i+=1

你可能感兴趣的:(LeetCode,python)