Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

77
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda