Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

86
Visualizações
Compruebe si las matrices de 2 int contienen solo números únicos en el mismo índice

Si tengo 2 matrices int a y b y contienen datos como este ...

 a[0] = 1 a[1] = 3 a[2] = 7 b[0] = 6 b[1] = 3 b[2] = 5

¿Cómo puedo verificar si todos los pares de números son únicos, por ejemplo, que cada combinación de a[i] y b[i] en el mismo índice no se repite en el resto de la matriz... Entonces, los datos anteriores pasarían pero si Presenté esto a continuación, fallaría ...

 a[24] = 7 b[24] = 5

Porque esta combinación ya existe en la matriz en el índice 2. ¿Puedo hacer esto en LINQ?

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

prueba esta muestra:

 int [] aa = a.Distinct().ToArray();

o :

 public static bool HasDuplicates<T>(IList<T> items) { Dictionary<T, bool> map = new Dictionary<T, bool>(); for (int i = 0; i < items.Count; i++) { if (map.ContainsKey(items[i])) { return true; // has duplicates } map.Add(items[i], true); } return false; // no duplicates }

y llama :

 string[] strings = new[] { "1", "2", "3" }; Utility.HasDuplicates(strings)// this will return false int[] items=new []{1,2,3,1}; Utility.HasDuplicates(items)// this will return true
over 4 years ago · Santiago Trujillo Relatório

0

Si el orden de los valores en los pares sobre las dos matrices es significativo (es decir a[0] == 1, b[0] == 2 se considera diferente de a[0] == 2, b[0] == 1 ), entonces una forma de verificar la singularidad usando Linq es la siguiente:

 bool unique = a.Zip(b).Distinct().Count() == a.Length;

Si el orden de los valores en los pares NO es significativo, es un poco más complicado:

 bool unique = a.Zip(b).DistinctBy( x => (Math.Min(x.First, x.Second), Math.Max(x.First,x.Second))) .Count() == a.Length;

Estas soluciones suponen que se ignorarán los valores faltantes en una de las matrices.

(Nota: DistinctBy() solo está disponible en .Net 6.0 o posterior, o a través de un paquete NuGet).

over 4 years ago · Santiago Trujillo Relatório

0

Me las arreglé para resolver esto y resolver esto con:

 a.Zip(b, (aPos, bPos) => new { aPosition = aPos, bPosition = bPos }).Distinct().Count()

Esto me dirá cuántos conjuntos distintos de ambos valores en el mismo índice y así puedo calcular el resto desde aquí.

Disculpas si mi pregunta no fue clara.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda