原题链接:565. 数组嵌套
solution:
将遍历过的元素标记为-1
class Solution {
public:
int arrayNesting(vector<int>& nums) {
int n = nums.size();
int maxl = 0; //返回值
for(int i = 0;i < n;i++) {
if(nums[i] < 0) continue;
int j = i;
int size = 0;
while(nums[j] >= 0) {
int tmp = nums[j];
nums[j] = -1; //遍历过的元素标记为-1
j = tmp;
size++;
}
//更新最大的嵌套长度
maxl = max(maxl, size);
}
return maxl;
}
};