def largest_nonadjacent_sum(arr):
    """
    Find the largest sum of non-adjacent numbers
    """
    before_last = 0
    last = 0

    for elt in arr:
        cur = before_last + elt
        before_last = max(before_last, last)
        last = max(cur, last)
    return last