每日一题565. 数组嵌套
Posted 爱写Bug的王六六
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每日一题565. 数组嵌套相关的知识,希望对你有一定的参考价值。
565. 数组嵌套
输入: A = [5,4,0,3,1,6,2]
输出: 4
解释:
A[0] = 5, A[1] = 4, A[2] = 0, A[3] = 3, A[4] = 1, A[5] = 6, A[6] = 2.
其中一种最长的 S[K]:
S[0] = A[0], A[5], A[6], A[2] = 5, 6, 2, 0
输出的是长度。。
常规模拟题
将 A[i]与 A[A[i]] 之间看作存在一条有向边,由于所有数范围都在 [0,N−1],且不重复,因此至少存在一个环,而问题本质是求所有环的最大长度。
直接根据题意记进行模拟即可,从前往后处理每个 nums[i],并尝试从 nums[i] 出发遍历其所在的环,为了防止某些环被重复处理,对于当前经过的 nums[i] 标记为 −1,这样每个数被访问的次数最多不超过 3 次,整体复杂度为 O(n)。
class Solution
public
以上是关于每日一题565. 数组嵌套的主要内容,如果未能解决你的问题,请参考以下文章