Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

76
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!