public static Program instance;
public string OrdenaArray(params string[] args)
var resultado = string.Empty;
int fim = args.Length - 1;
QuickSort(args, inicio, fim);
resultado = string.Join(",", args);
public void QuickSort(string[] vetor, int inicio, int fim)
int conteudo = Convert.ToInt32(vetor[inicio]);
if (Convert.ToInt32(vetor[i]) <= conteudo)
else if (conteudo < Convert.ToInt32(vetor[f]))
vetor[inicio] = vetor[f];
vetor[f] = conteudo.ToString();
QuickSort(vetor, inicio, f - 1);
QuickSort(vetor, f + 1, fim);
public string BuscaItensFaltantesNaSequencia(params string[] args)
var resultado = string.Empty;
var vetor = args[0].Split(",");
int numero = Convert.ToInt32(vetor[0]);
for (int posicao = 0; posicao < vetor.Length; posicao++)
if (numero != Convert.ToInt32(vetor[posicao]))
resultado += resultado == "" ? $"{numero}" : $",{numero}";
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}");