5151 Views

0 Likes

In this lesson, Alvin explores the strategy to solving the following interview problem:

Write a function,

non_adjacent_sum, that takes in a list of numbers as an argument. The function should return the maximum sum of non-adjacent items in the list. There is no limit on how many items can be taken into the sum as long as they are not adjacent.For example, given: [2, 4, 5, 12, 7]

The maximum non-adjacent sum is 16, because 4 + 12. 4 and 12 are not adjacent in the list.

```
nums = [2, 4, 5, 12, 7]
non_adjacent_sum(nums) # -> 16
```

```
nums = [7, 5, 5, 12]
non_adjacent_sum(nums) # -> 19
```

```
nums = [7, 5, 5, 12, 17, 29]
non_adjacent_sum(nums) # -> 48
```

```
nums = [
72, 62, 10, 6, 20, 19, 42,
46, 24, 78, 30, 41, 75, 38,
23, 28, 66, 55, 12, 17, 9,
12, 3, 1, 19, 30, 50, 20
]
non_adjacent_sum(nums) # -> 488
```

If you need additional support taking these DSA skills and actually applying them, take **Alvin's** *complete* data structures and algorithms course on **Structy**. You can try out the concepts yourself in their interactive code editor and learn advanced DSA patterns like stack exhaustive recursion.

Use **this link to get 20% off** the entire Structy DSA learning experience.

Follow Alvin on LinkedIn: **https://www.linkedin.com/in/alvin-zablan-b73a92117/**

Related Videos

1:45

What Order Should You Study Data Structures & Algorithms?

2:18

How Do I Know If I'm Making Progress With Leetcode?

3:06

How To Apply The 80/20 Rule To Leetcode Prep

0:48

DSA Crash Course [Part 87] - Outro

5:27

DSA Crash Course [Part 86] - Array Stepper Walkthrough

5:39

DSA Crash Course [Part 85] - Array Stepper Approach

6:31

DSA Crash Course [Part 84] - Counting Change Walkthrough

6:26

DSA Crash Course [Part 83] - Counting Change Approach

5:52

DSA Crash Course [Part 82] - Summing Squares Walkthrough

6:22

DSA Crash Course [Part 81] - Summing Squares Approach

Explore Jobs By LevelEntry-Level Software Engineer JobsMid-Level Software Engginer JobsSenior Software Engineer JobsStaff Software Engineer Jobs

Explore TrendingLayoffsPerformance Improvement PlanSystem DesignInterpersonal CommunicationTech Lead