每日一题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. 数组嵌套的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode使数组唯一的最小增量(每日一题)

《LeetCode之每日一题》:113.最短无序连续子数组

每日一题之LeetCode移除元素 删除有序数组重复元素

2022/7/17 每日一题(构造+数学+贪心+指针)

刷题精选:力扣565.数组嵌套

刷题精选:力扣565.数组嵌套