Solve tree and DP problems

Quick Overview

This pair of problems evaluates proficiency with tree data structures and traversal concepts (deepest shared ancestor) and with dynamic programming/state optimization on linear arrays (maximizing non-adjacent house values), assessing algorithmic reasoning, complexity awareness, and data-structure manipulation.

Solve tree and DP problems

Company: Amazon

Role: Software Engineer

Category: Coding & Algorithms

Difficulty: medium

Interview Round: Technical Screen

This coding round contained two algorithm questions: 1. **Deepest shared ancestor in a binary tree** You are given the root of a binary tree and two distinct nodes `p` and `q` that both exist in the tree. Return the deepest node that is an ancestor of both `p` and `q`. A node may be considered an ancestor of itself. 2. **Maximize money from non-adjacent houses** You are given an integer array `money` where `money[i]` is the amount of money stored in the `i`th house on a street. You may not take money from two adjacent houses on the same night. Return the maximum total amount you can collect.

Quick Answer: This pair of problems evaluates proficiency with tree data structures and traversal concepts (deepest shared ancestor) and with dynamic programming/state optimization on linear arrays (maximizing non-adjacent house values), assessing algorithmic reasoning, complexity awareness, and data-structure manipulation.

|Home/Coding & Algorithms/Amazon
Amazon logo
Amazon
Oct 24, 2025, 12:00 AM
mediumSoftware EngineerTechnical ScreenCoding & Algorithms
41
0

This coding round contained two algorithm questions:

  1. Deepest shared ancestor in a binary tree
    You are given the root of a binary tree and two distinct nodes p and q that both exist in the tree. Return the deepest node that is an ancestor of both p and q . A node may be considered an ancestor of itself.
  2. Maximize money from non-adjacent houses
    You are given an integer array money where money[i] is the amount of money stored in the i th house on a street. You may not take money from two adjacent houses on the same night. Return the maximum total amount you can collect.

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...