LeetCode:M-565. Array Nesting
来源:互联网 发布:java软件工程师认证 编辑:程序博客网 时间:2024/06/06 04:01
LeetCode链接
A zero-indexed array A consisting of N different integers is given. The array contains all integers in the range [0, N - 1].
Sets S[K] for 0 <= K < N are defined as follows:
S[K] = { A[K], A[A[K]], A[A[A[K]]], ... }.
Sets S[K] are finite for each K and should NOT contain duplicates.
Write a function that given an array A consisting of N integers, return the size of the largest set S[K] for this array.
Example 1:
Input: A = [5,4,0,3,1,6,2]Output: 4Explanation: A[0] = 5, A[1] = 4, A[2] = 0, A[3] = 3, A[4] = 1, A[5] = 6, A[6] = 2.
One of the longest S[K]:S[0] = {A[0], A[5], A[6], A[2]} = {5, 6, 2, 0}
Note:
- N is an integer within the range [1, 20,000].
- The elements of A are all distinct.
- Each element of array A is an integer within the range [0, N-1].
1、原有数组,其实类似于数组形式表示的链表
2、遍历链表,遍历过的node设置为-1,直到链表下一个遇到访问过得node,则得出了一条链表的长度
3、继续遍历没有访问过的其他链表
class Solution { public int arrayNesting(int[] nums) { if(nums==null) return 0; int max=0; for(int i=0; i<nums.length; i++){//继续遍历没有访问过的其他链表 if(nums[i]==-1) continue; int cnt=0; int j=i; while(nums[j]!=-1){ //遍历链表,遍历过的node设置为-1,直到链表下一个遇到访问过得node,则得出了一条链表的长度 int tmp = j; cnt++; j=nums[j]; nums[tmp]=-1; } max = Math.max(max, cnt); } return max; }}
阅读全文
0 0
- LeetCode:M-565. Array Nesting
- [leetcode]565. Array Nesting
- [LeetCode]565. Array Nesting
- LeetCode * 565. Array Nesting
- [LeetCode]565. Array Nesting
- leetcode 565. Array Nesting
- leetcode 565. Array Nesting
- [LeetCode] 565. Array Nesting
- [leetcode]565. Array Nesting
- [leetCode]565. Array Nesting
- LeetCode 565. Array Nesting
- LeetCode 565. Array Nesting
- leetcode 565. Array Nesting
- leetcode 565. Array Nesting
- leetcode-565. Array Nesting
- [Leetcode] 565. Array Nesting 解题报告
- leetcode array nesting
- leetcode(565). Array Nesting
- maven项目:中文乱码解决
- 代码干货 |【MHA】--命令系列介绍--[masterha_manager]
- for循环的使用 反转字符串,手写strrev()函数 解决问题
- halcon 10"破解版学习过程
- 2017-09-13 LeetCode_240 Search a 2D Matrix II
- LeetCode:M-565. Array Nesting
- Linux下JDK安装
- activeMQ指南针_forwarding bridge的实现机制、使用说明
- Tomcat OutOfMemoryError PermGen space 的解决办法
- 练习1
- numpy
- 关于spark一些参数的问题
- 2017.9.8 页面重构之css中input与button高度不一致的原因及解决方法
- 新路程------hi3516a 在应用层对寄存器的操作