Lecture 11

Announcements

Code from Lecture

def binarySearch(L, target):
    # we assume L is sorted
    start = 0
    end = len(L)
    while(start != end):
        mid = (start + end)//2
        if(L[mid] == target):
            return mid
        elif(L[mid] < target):
            start = mid + 1
        else:
            end = mid
    return -1
    
def repeats(L):
    # return a sorted list of the repeat elements in the list L
    seen = set()
    seenAgain = set()
    for element in L: # N times
        if (element in seen): # O(1)
            seenAgain.add(element) # O(1)
        seen.add(element) # O(1)
    return sorted(seenAgain) # O(Nlog(N))

Lecture