Você está se conectando a uma API de um sistema que fornece os dados em grupos de 2 e uma lógica de lista duplamente encadeada para controle de acesso a registros. Devido a forma como ela foi construída para não permitir o acesso por índices ou acesso aos dados de nenhuma outra forma, atualmente é necessário fazer uma busca sequencial (de nó em nó) para achar o registro desejado.
Considerando o seguinte:
- Você tem acesso ao primeiro e ao ultimo nó e pode navegar a partir de ambos
- O primeiro nó tem ID = 0 e caso exista um segundo item, a API retornará itens com id 0 e 1.
- O último item está na posição N.
- Acessar as pontas (início e fim) tem peso 0, enquanto navegar para qualquer direção tem peso 1.
Complete a função JavaScript caminhoMaisCurto que receberá dois valores: ultimoItem, buscarPorItem
function caminhoMaisCurto(ultimoItem, buscarPorItem){ //seu código aqui }
Exemplo:
Entrada de dados:
utlimoItem = 6
buscarPorItem = 2
Saída de dados:
1
Explicação:
Ao navegar do começo ao fim, você a começara com acesso aos itens 0 e 1. Ao avançar na lista 1 passo você receberá os itens 2 e 3.
Ao navegar da do fim ao começo você começará com acesso ao item 6. Ao voltar na lista 1 passo você terá acesso aos itens 5 e 4. Ao voltar mais 1 passo, você terá acesso aos itens 2 e 3.
Faça o download do arquivo abaixo para testar seu código:
[download id=”827″]
Precisando de uma ajudinha? Veja algumas formas de resolver essa questão no arquivo abaixo:
[download id=”830″]