classSolution{public:intarrayNesting(vector<int>&nums){intans=0;for(constintnum:nums){if(num==-1)continue;intindex=num;intcount=0;while(nums[index]!=-1){// Not yet seenconstintcache=index;index=nums[index];// Get next indexnums[cache]=-1;// Already seen++count;}ans=max(ans,count);}returnans;}};
classSolution{publicintarrayNesting(int[]nums){intans=0;for(finalintnum:nums){if(num==-1)continue;intindex=num;intcount=0;while(nums[index]!=-1){// Not yet seenfinalintcache=index;index=nums[index];// Get next indexnums[cache]=-1;// Already seen++count;}ans=Math.max(ans,count);}returnans;}}