Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started
Dynamic Programming Grid Traversal
00:00
5 left

Dynamic Programming Grid Traversal

HardPython

Problem

PayPal may evaluate two simultaneous paths through a grid of checkout opportunities. Two agents start in the top row, one at the leftmost column and one at the rightmost column, and move to the next row at every step.

Implement max_checkout_value(grid) to return the maximum total value both agents can collect. From column c, an agent may move to c - 1, c, or c + 1. Agents must remain inside the grid. If both agents occupy the same cell in a row, count that cell's value only once.

Formal Specification

  • Input: grid, a non-empty rectangular list of lists of integers, where grid[r][c] is the value at row r, column c.
  • Output: An integer representing the greatest total value collectable by both agents.
  • The first agent starts at (0, 0) and the second starts at (0, columns - 1).
  • Both agents must finish in the last row.

Constraints

  • 2 <= len(grid) <= 70
  • 2 <= len(grid[0]) <= 70
  • 0 <= grid[r][c] <= 100
  • Every row has the same number of columns

Function Signature

def max_checkout_value(grid):
Interviewer

Your question is Dynamic Programming Grid Traversal. Start with the requirements in the Question tab.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.
CodePython 3
You need to log in / sign up to run or submit.Ln 2
Run your code to see test output here.