Given a two 2D integer array, find the max score of a path from the upper left cell to bottom right cell that doesn't visit any of the cells twice. The score of a path is the minimum value in that path.

For example:

Input:

[7,5,3]

[2,0,9]

[4,5,9]

Here are some paths from [0,0] to [2,2] and the minimum value on each path:

path: 7->2->4->5->9, minimum value on this path: 2

path: 7->2->0->9->9, minimum value on this path: 0

path: 7->2->0->5->9, minimum value on this path: 0

**Notice**: the path can move all four directions. (not only right and down. ALL FOUR DIRECTIONS)

Here 7->2->0->5->3->9->9 is also a path, and the minimum value on this path is 0.

The path doesn't visit the same cell twice. So 7->2->0->5->3->9->0->5->9 is not a path.

In the end the max score(the min value) of all the paths is 3.

Output: 3

##### Solve the problem:

Python3#### Get one-to-one training from Google Facebook engineers

##### Top-notch Professionals

Learn from Facebook and Google senior engineers interviewed 100+ candidates.

Most recent interview questions and system design topics gathered from aonecode alumnus.

One-to-one online classes. Get feedbacks from real interviewers.

##### Customized Private Class

Already a coding expert? - Advance straight to hard interview topics of your interest.

New to the ground? - Develop basic coding skills with your own designated mentor.

Days before interview? - Focus on most important problems in target company question bank.