자바 구현 LeetCode 565 개 중첩 배열 (NO 중복 배열)

565 중첩 배열

모든 정수 1 - N 지수는 0을 포함하는 어레이 (A)의 제로 길이 N을한다. 찾아 반환 [I] S, S의 최대 회수 = {A [I], A [A [I]하는 [A [A가 [I]], ...}과 같은 규칙을 준수.

[I]는 인덱스 i의 선택 소자는, S의 첫 번째 요소이다되어야 다음 요소 A의 S 것으로 [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, A [2] = {} 5 ,. 6, 2, 0 [6.].}
참고

N [1, 20,000]의 정수이다.
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;
    }
}
출시 1650 원저 · 원 찬양 20000 + · 전망 2,960,000 +

추천

출처blog.csdn.net/a1439775520/article/details/105145603