Todos os desafios
Difícil 0 resolvidos 0% de aceitação

Contar Números com Dígitos Vizinhos Distintos

Conte valores em um intervalo cujos dígitos decimais adjacentes nunca são iguais.

Conte os inteiros de left até right, incluindo ambos os extremos, que não possuem dígitos vizinhos iguais. Considere a escrita decimal usual, sem zeros à esquerda. Zero e todos os outros números de um dígito são válidos.

Implemente counting_numbers(left, right).

Entrada

left: O primeiro valor permitido.

right: O último valor permitido.

Saída

Retorne quantos valores satisfazem a regra.

Restrições

0 ≤ left ≤ right ≤ 10¹⁸. O intervalo pode ser grande demais para inspecionar cada inteiro individualmente.

Exemplos

Exemplo 1
Entrada:
left = 10
right = 15

Saída esperada:
expected = 5
Entrada:
long long left = 10;
long long right = 15;

Saída esperada:
long long expected = 5;
Entrada:
long left = 10;
long right = 15;

Saída esperada:
long expected = 5;

Explicação

Apenas o 11 possui dígitos vizinhos iguais. Os outros cinco números são válidos.

Exemplo 2
Entrada:
left = 0
right = 9

Saída esperada:
expected = 10
Entrada:
long long left = 0;
long long right = 9;

Saída esperada:
long long expected = 10;
Entrada:
long left = 0;
long right = 9;

Saída esperada:
long expected = 10;

Explicação

Todos os dez valores têm apenas um dígito e, portanto, não possuem vizinhos iguais.

Referências

Este desafio foi adaptado para o CodeUtility. Siga o enunciado e as restrições acima.

Aprenda com outros

Soluções da comunidade

Ainda não há soluções publicadas. Resolva este desafio para compartilhar a primeira.