Olá, tudo bem?
Estou sofrendo para pensar em uma maneira de resolver esta questão:
Desafio 1
Uma matriz de indexação zero A de tamanho N, contém todos os números inteiros
de 0 a N-1. Encontre e retorne o maior tamanho possível do conjunto S, onde S
[i] = {A [i], A [A [i]], A [A [A [i]], …} sujeito à regra abaixo.
Suponha que o primeiro elemento em S começa com a seleção do elemento A [i] do
índice = i, o próximo elemento em S deve ser A [A [i]], e depois A [A [A [i]]]… Por
essa analogia, deixamos de adicionar um novo elemento em S quanto este for
duplicado no conjunto.
Exemplo
Entrada: A = [5,4,0,3,1,6,2]
Saída: 6
Esclarecimento:
A[0] = 5, A[1] = 4, A[2] = 0, A[3] = 3, A[4] = 1, A[5] = 6, A[6] = 2.
Um dos maiores conjuntos de S[K] é:
S[0] = {A[0], A[5], A[6], A[2]} = {5, 6, 2, 0}
Obs:
- N é um número inteiro no intervalo [1, 20000].
- Todos os elementos de A são distintos.
- Cada elemento de A é um inteiro no intervalo [0, N-1].
Criei uma função que vai pegar o vetor digitado pelo usuário, de acordo com a quantidade de indexação que ele escolheu. Meu problema, é: Não estou conseguindo criar a lógica para pegar o vetor pela posição do resultado do vetor (conforme descrito na resolução S[0]). Alguem pode me ajudar?