public static void Main()
var vetorDeInteiros = new[] { 3, 6, 4, 1, 2 };
if (Solution(vetorDeInteiros) == 5)
Console.WriteLine("Acertou!");
Console.WriteLine("Errou!");
public static int Solution(int[] vetorDeInteiros)
const int QuantidadeAgregadaParaValidarSeProximoNumeroExisteNoArray = 1;
Array.Sort(vetorDeInteiros);
var numerosOrdenadosMenorParaMaior = vetorDeInteiros.Where(valor => valor > 0).Distinct();
foreach (var numeroCorrente in numerosOrdenadosMenorParaMaior)
var valorParaComparacao = numeroCorrente + QuantidadeAgregadaParaValidarSeProximoNumeroExisteNoArray;
if (!vetorDeInteiros.Contains(valorParaComparacao))
return valorParaComparacao;
internal static int[] GerarArrayDeAcordoCenariosTeste(int QuantidadeValoresParaIncluirNoVetor)
const int valorMinimoIntervaloNumero = -1000000;
const int valorMaximoIntervaloNumero = 1000000;
var gerarNumeroAleatorio = new Random();
int[] values = new int[QuantidadeValoresParaIncluirNoVetor];
for (int i = 0; i < QuantidadeValoresParaIncluirNoVetor; ++i)
values[i] = gerarNumeroAleatorio.Next(valorMinimoIntervaloNumero, valorMaximoIntervaloNumero);