Given an array of (positive) integers, find a subset with the maximal sum.
However, there is the additional restriction that no two numbers in the subset may be adjacent.
For example, for the array :
is valid, while is invalid since and are next to each other.
happens to be the optimal sum in this case, so is the answer.
Input Specification
An integer .
lines, each with one positive integer in the sequence .
Output Specification
The maximum sum possible.
Comments
If anyone is stuck, it's the same logic as the leetcode 198
For anyone getting an MLE on the last test case with CPython3 (with just a tiny bit more memory exceeded), try using arrays instead of lists! You can still solve this question with just Python lists, but if you have slightly sub-optimal code (in terms of memory), it's an option to consider.
Of course, another way is to try and accomplish the same task with less lists/arrays, etc.