Find All Groups of Farmland LeetCode solution in Java
1class Solution {2int[] arr;34public int[][] findFarmland(int[][] land) {5List<int[]> res = new ArrayList<>();6for (int i = 0; i < land.length; i++)7for (int j = 0; j < land[0].length; j++) {8if (land[i][j] == 1) {9arr = new int[] {i, j, 0, 0};10dfs(land, i, j);11res.add(arr);12}13}14return res.stream().map(i -> i).toArray(int[][]::new);15}1617public void dfs(int[][] land, int i, int j) {18if (i < 0 || j < 0 || i >= land.length || j >= land[0].length || land[i][j] == 0) return;19arr[2] = Math.max(i, arr[2]);20arr[3] = Math.max(j, arr[3]);21land[i][j] = 0;22dfs(land, i - 1, j);23dfs(land, i, j + 1);24dfs(land, i + 1, j);25dfs(land, i, j - 1);26}27}