PracHub
QuestionsPremiumLearningGuidesCheatsheetNEWCoaches
|Home/Coding & Algorithms/DoorDash

Find longest common ordered restaurant list

Last updated: Mar 29, 2026

Quick Overview

This question evaluates a candidate's understanding of sequence algorithms, dynamic programming, and string/list manipulation by requiring computation of the longest common subsequence between two ordered lists of restaurant IDs.

  • hard
  • DoorDash
  • Coding & Algorithms
  • Software Engineer

Find longest common ordered restaurant list

Company: DoorDash

Role: Software Engineer

Category: Coding & Algorithms

Difficulty: hard

Interview Round: Onsite

You have two delivery drivers who each have a pickup plan represented as a list of restaurant IDs (strings). Because there is only **one car**, the combined route can only visit restaurants that **both drivers need to pick up from**. The route must also respect the **original order** of restaurants for each driver (i.e., once you move forward in a driver’s list, you cannot go back). Your task is to compute the **longest possible list of restaurants** that can be visited under these constraints. Formally, given two sequences `driver1` and `driver2`, return a sequence that is the **longest common subsequence (LCS)** of the two lists. ### Input - `driver1`: list of strings, length `n` - `driver2`: list of strings, length `m` ### Output - A list of strings representing one longest common ordered restaurant list. ### Notes - The relative order must be preserved in both lists. - If there are multiple valid longest answers, returning any one is acceptable (unless specified otherwise). ### Example - `driver1 = ["A","B","C","D"]` - `driver2 = ["B","C","E"]` A valid output is `["B","C"]`. ### Constraints (reasonable interview assumptions) - `0 <= n, m <= 2000` (adjust if needed) - Restaurant IDs are case-sensitive strings ### Follow-ups (optional) - What is the time and space complexity of your approach? - Can you optimize space if only the length is needed vs. reconstructing the sequence?

Quick Answer: This question evaluates a candidate's understanding of sequence algorithms, dynamic programming, and string/list manipulation by requiring computation of the longest common subsequence between two ordered lists of restaurant IDs.

Related Interview Questions

  • Maximize Chef Assignment Profit - DoorDash (medium)
  • Compute Courier Delivery Pay - DoorDash (easy)
  • Compute Nearest Destination Distances - DoorDash (easy)
  • Count changed nodes between two menu trees - DoorDash (hard)
  • Calculate Daily Driver Pay - DoorDash (hard)
DoorDash logo
DoorDash
Nov 7, 2025, 12:00 AM
Software Engineer
Onsite
Coding & Algorithms
19
0

You have two delivery drivers who each have a pickup plan represented as a list of restaurant IDs (strings).

Because there is only one car, the combined route can only visit restaurants that both drivers need to pick up from. The route must also respect the original order of restaurants for each driver (i.e., once you move forward in a driver’s list, you cannot go back).

Your task is to compute the longest possible list of restaurants that can be visited under these constraints.

Formally, given two sequences driver1 and driver2, return a sequence that is the longest common subsequence (LCS) of the two lists.

Input

  • driver1 : list of strings, length n
  • driver2 : list of strings, length m

Output

  • A list of strings representing one longest common ordered restaurant list.

Notes

  • The relative order must be preserved in both lists.
  • If there are multiple valid longest answers, returning any one is acceptable (unless specified otherwise).

Example

  • driver1 = ["A","B","C","D"]
  • driver2 = ["B","C","E"]

A valid output is ["B","C"].

Constraints (reasonable interview assumptions)

  • 0 <= n, m <= 2000 (adjust if needed)
  • Restaurant IDs are case-sensitive strings

Follow-ups (optional)

  • What is the time and space complexity of your approach?
  • Can you optimize space if only the length is needed vs. reconstructing the sequence?

Comments (0)

Sign in to leave a comment

Loading comments...

Browse More Questions

More Coding & Algorithms•More DoorDash•More Software Engineer•DoorDash Software Engineer•DoorDash Coding & Algorithms•Software Engineer Coding & Algorithms
PracHub

Master your tech interviews with 7,500+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.