题解 | #逆时针吃草#

逆时针吃草

https://www.nowcoder.com/practice/9eaf6e983ec042f7b952a65b46486f8e

    
ArrayList<Integer> list = new  ArrayList<Integer>();
public int[] eatGrass (int[][] matrix) {// write code heredfs(matrix, matrix.length - 1, 0);
  dfs(matrix, matrix.length - 1, 0);
  int res[] = new int[list.size()];
  for (int i = 0; i < list.size(); i++) 
  {
     res[i] = list.get(i);
  }
  return res;
}
public void dfs(int[][] matrix, int i, int j) {
  if ( i > matrix.length - 1 || j > matrix[0].length - 1 || i < 0 || j < 0 || matrix[i][j] == -1  ) {
        return;
}
    list.add(matrix[i][j]);
  //吃过的标记一下不再吃
    matrix[i][j] = -1;
  //往上走
    dfs(matrix, i - 1, j);
  //往右走
    dfs(matrix, i, j + 1);
  //往下走
    dfs(matrix,  i + 1, j);
  //往左走
    dfs(matrix, i, j - 1);
}

全部评论
你这个遍历到14的时候,按照上右下左,是先遍历元素9的啊!
点赞 回复 分享
发布于 2024-05-15 17:59 陕西

相关推荐

老方子:英语等级cet写错了吧
点赞 评论 收藏
分享
2024-12-23 06:50
门头沟学院 Java
给点吧求求了:3点发的帖子,害怕😰
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务