Quando publicamos algum software, atribuímos um número de versão a ele. E os usuários podem querer atualizar para a versão mais recente de alguns softwares. Portanto, é hora de descobrir qual versão deve ser mais nova.
Entrada
Insira dois números de versão como seqüências de caracteres.
No contexto desse desafio, suportamos apenas números de versão, que são alguns dígitos unidos por pontos.
- Um número de versão é uma sequência que pode conter apenas dígitos (
0
~9
) e pontos (.
). - Pontos não seriam o primeiro / último caractere de um número de versão.
- Deve haver alguns dígitos entre os pontos. Dois pontos não podem aparecer continuamente.
- Todos os números em um número de versão seriam menores que 2 16 .
Saída
Compare os números de versão introduzidos e produza se o primeiro é maior que / igual a / menor que o segundo. Você pode escolher uma das seguintes apresentações:
- Use número positivo / zero / número negativo, enquanto zero significa igual;
- Use três valores distintos constantes;
Comparando
Você não é obrigado a implementar o algoritmo descrito nesta seção. Seu envio é válido desde que resulte a mesma saída com este algoritmo.
- Os números de versão são alguns números decimais unidos por pontos. Primeiro, dividimos os dois números de versão em matrizes de números;
- Preenchendo o final de matrizes com zeros para torná-los com o mesmo comprimento;
- Compare do primeiro item ao último:
- Se os dois itens da matriz forem diferentes, o número maior significa um número de versão maior
- Se forem iguais, continue a comparar os seguintes itens;
- Se todos os itens da matriz forem iguais, as duas versões serão iguais.
Casos de teste
version1 version2 result
2 1 >
1.0.0 1 =
1.0 1.0.0 =
1.2.42 1.2.41 >
1.1.56789 1.2.0 <
1.10 1.2 >
1.20 1.150 <
18.04 18.4 =
7.010 7.8 >
1.0.0.1.0 1.00.00.2 <
00.00.01 0.0.0.1 >
0.0.1 0.1 <
42.0 4.2.0 >
999.999 999.999.1 <
2018.08.1 2018.08 >