565. 数组嵌套

索引从0开始长度为N的数组A,包含0到N - 1的所有整数。找到并返回最大的集合S,S[i] = {A[i], A[A[i]], A[A[A[i]]], … }且遵守以下的规则。

假设选择索引为i的元素A[i]为S的第一个元素,S的下一个元素应该是A[A[i]],之后是A[A[A[i]]]… 以此类推,不断添加直到S出现重复的元素。

示例 1:

输入: 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}

注意:

N是[1, 20,000]之间的整数。

A中不含有重复的元素。

A中的元素大小在[0, N-1]之间。

class Solution {
public int arrayNesting(int[] nums) {
int max = 0;
for (int i = 0; i < nums.length; i++) {
int cnt = 0;
for (int j = i; nums[j] != -1; ) {
cnt++;
int t = nums[j];
nums[j] = -1;
j = t;
}
max = Math.max(max, cnt);
}
return max;
}
}

最新文章

  1. Linux Hadoop2.7.3 安装(单机模式) 二
  2. HDU 1102 最小生成树裸题,kruskal,prim
  3. Thinking in Java——笔记(5)
  4. Java中String类的方法及说明
  5. 20151009 C# 第一篇 基础知识
  6. java 多个设备,锁定先后顺序
  7. spoj 8222 Substrings(后缀自动机+DP)
  8. PageHeap,调试Heap问题的工具
  9. MVC @Html控件
  10. iOS基础 - Modal展示控制器
  11. C语言中sizeof、strlen函数的部分理解
  12. Android自定义控件三种方式
  13. AtCoder Grand Contest 11~17 做题小记
  14. 11.13git和redis
  15. BGP笔记
  16. Redis进阶实践之五Redis的高级特性(转载 5)
  17. leetcode刷题笔记172 阶乘后的零
  18. 10款CSS3按钮 - 程序员再也不用为按钮设计而发愁了...
  19. 用sudo 运行命令的时候,环境变量用的是super用户的环境变量
  20. 第六篇:二维数组的传输 (host &lt;-&gt; device)

热门文章

  1. NLTK数据包下载频繁报错——解决方法
  2. PrintStream:打印流
  3. PHP根据抖音的分享链接来抓包抖音视频
  4. 简单而面试中又常见的知识点:JS执行机制
  5. 「雕爷学编程」Arduino动手做(12)——霍尔磁力模块
  6. Django模板之模板变量过滤器
  7. 点击劫持ClickJacking
  8. JavaScript事件坐标区别(offset,client,page)
  9. 第几天?(hdu2005)
  10. elasticsearch7.X x-pack破解