Steward
分享是一種喜悅、更是一種幸福
程式語言 - LeetCode - C++ - 565. Array Nesting
題目:

解答:
class Solution {
public:
int arrayNesting(vector<int>& nums) {
int n = nums.size();
vector<bool> visited(n, false);
auto dfs = [&](this auto&& dfs, int cur) -> int {
if (visited[cur]) {
return 0;
}
visited[cur] = true;
return 1 + dfs(nums[cur]);
};
int ans = 0;
for (int i = 0; i < n; ++i) {
ans = max(ans, dfs(i));
}
return ans;
}
};