class Solution { vector<int> direction = {-1, 0, 1, 0, -1}; int dfs(vector<vector<int>>& matrix, int x, int y, vector<vector<int>>& dp){ // 如果不为零,说明在之前的递归中已经计算过以(x, y)为起点的最长路径,此时直接返回即可 if(dp[x][y]!=0) return dp[x][y]; // 1. 如果为零,首先赋值自身为1 dp...