Saturday, November 4, 2017

35. Search Insert Position

class Solution:
    def searchInsert(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: int
        """
        if nums[-1] < target:
            return len(nums)
        elif nums[0] >= target:
            return 0
        else:
            start_index = 0
            end_index = len(nums)-1          
            while start_index + 1 <= end_index:
                middle_index = (start_index + end_index +1)//2
                if start_index + 1 == end_index:
                    return end_index
                else:
                    if nums[middle_index] == target:
                        return middle_index
                    elif nums[middle_index] < target:
                        start_index = middle_index
                    else:
                        end_index = middle_index  

No comments:

Post a Comment