150 najlepszych wywiadówŚredni

Najdłuższa rosnąca ścieżka w macierzy

Szczegółowy przewodnik i implementacja Python dla problemu „Najdłuższa rosnąca ścieżka w macierzy”.

Oświadczenie o problemie

Średni

Biorąc pod uwagę macierz liczb całkowitych m x n, zwróć długość najdłuższej rosnącej ścieżki w macierzy.

Z każdej komórki możesz poruszać się w czterech kierunkach: w lewo, w prawo, w górę lub w dół. Nie możesz poruszać się po przekątnej ani wychodzić poza granicę (tzn. zawijanie nie jest dozwolone).

Napisz funkcję longestIncreasingPath(matrix: List[List[int]]) -> int.

Ograniczenia
  • m == len(matrix)
  • n == len(matrix[0])
  • 1 <= m, n <= 200
  • 0 <= matrix[i][j] <= 2^31 - 1

Przykłady

Example 1
Input
matrix = [[9,9,4],[6,6,8],[2,1,1]]
Output
4
Explanation

The longest increasing path is [1, 2, 6, 9].

Example 2
Input
matrix = [[3,4,5],[3,2,6],[2,2,1]]
Output
4
Explanation

The longest increasing path is [3, 4, 5, 6]. Moving diagonally is not allowed.

Need a Hint?
Rozważ użycie struktur danych specyficznych dla 2D DP, takich jak zestawy lub sterty.
Edge Cases to Watch
  • Puste struktury wejściowe
  • Wejścia jednoelementowe
  • Duże granice liczbowe

Gotowy do rozwiązania?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Otwórz w Edytorze
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Polecane zasoby Pythona

Poszerzaj swoją wiedzę dzięki powiązanym interaktywnym samouczkom, ściągawkom i porównaniom kodów.