Array Nesting LeetCode solution in Java
1class Solution {2public int arrayNesting(int[] nums) {3int res = 0;4boolean[] visited = new boolean[nums.length];5for (int i = 0; i < nums.length; i++) {6if (!visited[i]) {7int len = dfs(nums, i, visited);8res = Math.max(res, len);9}10}11return res;12}1314public int dfs(int[] nums, int i, boolean[] visited) {15if (visited[i]) return 0;16visited[i] = true;17return 1 + dfs(nums, nums[i], visited);18}19}