public static Program instance;
public string OrdenaArray(params string[] args)
var resultado = string.Empty;
foreach(string item in args)
resultado += String.IsNullOrEmpty(resultado) ? $"{item.TrimStart('0')}" : $",{item}";
public string BuscaItensFaltantesNaSequencia(params string[] args)
var resultado = string.Empty;
var ordenada = args.GetValue(0).ToString().Split(",");
var contador = Convert.ToInt32(ordenada[0]);
var maiorValor = Convert.ToInt32(ordenada.GetValue(ordenada.Length - 1));
for (int i = contador; i <= maiorValor; i++)
if (!Array.Exists(ordenada, item => Convert.ToInt32(item) == contador))
resultado += String.IsNullOrEmpty(resultado) ? $"{contador}" : $",{contador}";
public static void Main()
instance = instance ?? new Program();
var ordenado = instance.OrdenaArray("6", "3", "5", "4", "01", "7", "9");
var itensFaltantes = instance.BuscaItensFaltantesNaSequencia(ordenado);
var resultadoOrdenadoEsperado = "1,3,4,5,6,7,9";
var resultadoItensFaltantesEsperado = "2,8";
Console.WriteLine(ordenado == resultadoOrdenadoEsperado ? $"CORRETO {ordenado} == {resultadoOrdenadoEsperado}": $"INCORRETO {ordenado} != {resultadoOrdenadoEsperado}");
Console.WriteLine(itensFaltantes == resultadoItensFaltantesEsperado ? $"CORRETO {itensFaltantes} == {resultadoItensFaltantesEsperado}": $"INCORRETO {itensFaltantes} != {resultadoItensFaltantesEsperado}");