题解 | 不相邻取数
不相邻取数
https://www.nowcoder.com/practice/a2be806a0e5747a088670f5dc62cfa1e
n = int(input())
arr = list(map(int,input().split()))
#dp[i]以i为结束的最大子数组和
dp = [0] * n
dp[0] = arr[0]
if n >1:
dp[1] = max(arr[0],arr[1])
for i in range(2,n):
dp[i] =max(dp[i-2]+arr[i],dp[i-1])
print(max(dp))
查看26道真题和解析
