For the following 2 functions:
def fn1(nums):
A = B = 0
for i in nums:
A, B = max(A, B), A + i
return max(A, B)
def fn2(nums):
A = B = 0
for i in nums:
A = max(A, B)
B = A + i
return max(A, B)
if nums = [1,1,1,1,1], why does fn1 returns 3 and fn2 returns 5? how is
A, B = max(A, B), A + i
executed differently than:
A = max(A, B)
B = A + i