leetcode-565. Array Nesting
来源:互联网 发布:mac卡住了结束程序 编辑:程序博客网 时间:2024/06/05 21:01
565. Array Nesting
A zero-indexed array A of length N contains all integers from 0 to N-1. Find and return the longest length of set S, where S[i] = {A[i], A[A[i]], A[A[A[i]]], ... } subjected to the rule below.
Suppose the first element in S starts with the selection of element A[i] of index = i, the next element in S should be A[A[i]], and then A[A[A[i]]]… By that analogy, we stop adding right before a duplicate element occurs in S.
Example 1:
Input: A =[5,4,0,3,1,6,2]
Output:6
Explanation: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 A is an integer within the range[0, N-1]
.
题意
给定一个数组 a,求一个集合 S 的长度,要求 S 中的元素满足:s[0] = a[i], s[1] = a[a[i]], s[2] = a[a[a[i]]] ....
思路
最容易想到的就是遍历原数组,以a[i]为起点,求出每个数组的长度,取最长的返回。用一个数组来记录是否遍历过该结点即可
一开始想到会不会TLE,但是结果并没有。。
class Solution { public int arrayNesting(int[] nums) { int[] visited = new int[nums.length]; int maxlen = 0; for(int i = 0;i<nums.length;i++){ if (visited[i] == 0) { visited[i] = 1; int count = 1; int index = nums[i]; while (visited[index]==0) { visited[index] = 1; index = nums[index]; ++count; } maxlen = Math.max(count,maxlen); } } return maxlen; }}
- [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:M-565. Array Nesting
- [Leetcode] 565. Array Nesting 解题报告
- leetcode array nesting
- leetcode(565). Array Nesting
- Sublime Text 3简单安装插件与主题
- 使用Layer弹出iframe表单窗口,有几率无法成功提交表单问题解决
- 我的洛谷博客
- 学术论文相关的概念
- sql server 登录名和用户名的区别和联系
- leetcode-565. Array Nesting
- 开发笔记模块前言
- Android中applicationId的定义
- 缺少return, 导致core dump
- 初学者日志 12/23 循环结构练习
- 科技创业如何设计商业模式,她总结了一套秘笈
- 阿里讽腾讯整条命是小学生给的;百度公布起诉前高管“实锤”;微信大规模封号丨价值早报
- 蔚来李斌:未来汽车的关键词是“智能电动车”
- 深入Linux内核架构之内存管理(1)