LeetCode 35 LintCode 60 – Python 3 (Week 10 – 01)

class Solution:
    """
    @param A: an integer sorted array
    @param target: an integer to be inserted
    @return: An integer
    """
    def searchInsert(self, A, target):
        # write your code here
        if not A: return 0
        
        start, end = 0, len(A) - 1
        
        while start + 1 < end:
            mid = int (start + (end - start) / 2)
            if A[mid] == target:
                return mid
            if A[mid] < target:
                start = mid
            if A[mid] > target:
                end = mid
                
        if A[end] < target:
            return end + 1
        if A[start] >= target:
            return start
        return end

Leave a comment

Design a site like this with WordPress.com
Get started