• Java实现 LeetCode 565 数组嵌套(没有重复值的数组)


    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;
        }
    }
    
  • 相关阅读:
    "Java:comp/env/"讲解与JNDI
    table的td去边框
    jsp获取所有参数
    spring-mvc设置首页
    jdbc数据库连接方式
    文件上传
    SMBMS
    过滤器和监听器
    解决Maven的JDK版本问题
    MVC
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13074924.html
Copyright © 2020-2023  润新知