remand = [7, 10, 12, 7, 9, 13]
def max_sum_no_adjacent(array):
if not len(array):
raise ValueError(f'array is empty')
if len(array) < 3:
return max(array)
t = array[:]
for idx in range(2, len(t)):
t[idx] = max(t[idx - 1], t[idx] + t[idx - 2])
return t[-1]
print(max_sum_no_adjacent(remand))
remand = [7, 10, 12, 7, 9, 13]
def max_sum_no_adjacent(array):
if not len(array):
raise ValueError(f'array is empty')
if len(array) < 3:
return max(array)
t = [array[0], max(array[0], array[1])]
for idx in range(2, len(array)):
current = max(t[1], t[0] + array[idx])
t[0], t[1] = t[1], current
return t[1]
print(max_sum_no_adjacent(remand))