Menu
CoddyTech

Longest Increasing Path in a Matrix

Satır listesi olarak, m satır ve n sütundan oluşan tam sayılardan oluşan bir ızgara olan matrix veriliyor. Bir yol yukarı, aşağı, sola veya sağa ilerler (çapraz hareket yoktur ve kenarlardan dolanılmaz) ve her adımda kesinlikle daha büyük bir değere ulaşılmalıdır. Böyle bir en uzun yoldaki hücre sayısını döndürün. Tek bir hücre, 1 hücrelik bir yoldur.

Fonksiyon

longestIncreasingPath(matrix: integer-2d-array) → integer
matrixinteger-2d-array
eşit uzunluktaki satırlardan oluşan bir liste olarak değerler ızgarası
Döndürürinteger
en uzun kesin artan yoldaki hücre sayısı

Kısıtlar

  • 1 ≤ m, n ≤ 100; burada m = matrix.length ve n = matrix[i].length
  • Her satır aynı uzunluktadır n.
  • 0 ≤ matrix[i][j] ≤ 231-1

Örnekler

Girdi
matrix = [[9, 8, 3], [2, 7, 4], [1, 6, 5]]
Çıktı
7
Açıklama
3, 4, 5, 6, 7, 8, 9 yolu sağ sütundan aşağı, alt satır boyunca ve orta sütundan yukarı 9'a kadar ilerler: 7 hücre. En küçük değer olan 1'den başlayınca en iyi yollar 5 hücreden oluşur.
challenge icon

Ek soru

En uzun yollardan birinin uzunluğuyla birlikte hücrelerini de döndürebilir misin?

Kodu sıfırla
def longestIncreasingPath(matrix):
    # Kodu buraya yazın

Test #1

Test #2

Test #3

Argüman

matrix = [[9, 8, 3], [2, 7, 4], [1, 6, 5]]

Beklenen Çıktı

7