You have a matrix. From any cell, you can step to an UP / DOWN / LEFT / RIGHT neighbor if its value is strictly greater. Find the longest such path (count of cells visited).
Your instinct says: fill a table. Before we write a line of code, pick the fill order you would use. Row by row? Column by column? Something else?