Étant donné 2 tableaux int, par exemple, foo et bar, quel est le moyen le plus efficace de vérifier que la barre de tableau contient au moins un élément que foo contient. devrait renvoyer vrai/faux. Je soupçonne foreach imbriqué mais je me demandais juste s'il y a une meilleure façon.vérifier si un tableau contient un élément d'un autre tableau
Répondre
LINQ:
array1.Intersect(array2).Any()
L'utilisation de Any() garantit que l'algorithme d'intersection s'arrête lorsque le premier objet égal est trouvé. – Olli
gardez à l'esprit que tout array1 est énuméré, donc vous voudrez probablement le tableau le plus court comme array1 si possible. –
Je n'ai jamais entendu parler de la méthode Intersect, donc j'ai dû chercher ce que ça fait: http://msdn.microsoft.com/fr -us/library/bb460136.aspx Il vous donne essentiellement une liste d'éléments qui se trouvent dans les deux tableaux comparés. Avec l'opérateur any vous savez alors si array1 et array2 ont l'une des mêmes chaînes dans ce cas. – Stefanvds
Oui boucles imbriquées, bien que l'on est caché:
bool AnyAny(int[] A, int[]B)
{
foreach(int i in A)
if (B.Any(b=> b == i))
return true;
return false;
}
C# 3:
bool result = bar.Any(el => foo.Contains(el));
C# 4 exécution parallèle:
bool result = bar.AsParallel().Any(el => foo.AsParallel().Contains(el));
Dans mon cas, foo est une sous-chaîne de el. donc, 'bool result = bar.Any (el => foo.Contains (el));' ne donnera pas le résultat requis. Toute suggestion sur la façon d'implémenter cette requête? –
Pour une approche par grappes aléatoires, votre méthode semble être la plus rapide. Il y a des méthodes qui rendraient les choses plus efficaces si l'une ou les deux matrices sont triées, leurs limites supérieure/inférieure sont connues, ou l'une d'elles change beaucoup plus rarement que l'autre et vous effectuez de nombreuses vérifications. La chose est que vous pouvez préparer divers hashes, indices et astuces qui optimisent la recherche à presque rien, mais le processus d'indexation seul prendra généralement plus d'une recherche.
- 1. Comment vérifier si un objet contient un tableau d'octets?
- 2. php - trouver si un tableau contient un élément
- 3. La propriété LINQ-array contient un élément d'un autre tableau
- 4. vérifier si le tableau contient false?
- 5. comment vérifier si un élément existe déjà dans le tableau
- 6. Comment vérifier si un élément contient un autre élément dans jQuery
- 7. Déterminer si un tableau contient le contenu d'un autre tableau dans ruby
- 8. tableau rubis contient un identifiant
- 9. vérifier si div contient un élément dans jQuery
- 10. vérifier si un tableau est multidimensionnel
- 11. JS - Vérifiez si une position de tableau contient un mot, puis retourner un autre mot
- 12. Comment vérifier Un tableau de chaînes contient une chaîne particulière?
- 13. Comment vérifier si une certaine partie du tableau existe dans un autre tableau?
- 14. Vérifier si un tableau est l'inverse d'un autre tableau en Java
- 15. tableau dans un autre tableau
- 16. Plus de manière concise de vérifier si un tableau ne contient que des nombres (entiers)
- 17. Comment vérifier si un objet n'est pas un tableau?
- 18. Comment vérifier si un tableau est dans un format spécifique
- 19. Vérifier si un élément existe
- 20. ColdFusion: Comment vérifier si un certain élément existe dans un tableau à deux dimensions?
- 21. JavaScript: J'ai un tableau. Je veux vérifier si le premier élément est un
- 22. Comment vérifier si un élément de réponse JSON est un tableau?
- 23. tableau de copie dans un autre tableau
- 24. Correspondance des éléments de tableau pour obtenir un élément de tableau à un autre index
- 25. enregistrer un élément d'un tableau à un tableau différent
- 26. Comment puis-je vérifier si un tableau est nul/vide?
- 27. Comment vérifier si un tableau est vide en PHP?
- 28. Comment vérifier si * nombre * est dans un tableau
- 29. vérifier si Tag existe avant de l'ajouter à un tableau
- 30. PHP - vérifier si un ou plusieurs champ tableau existe
Est-ce ce devoir? Les tableaux sont-ils arbitrairement grands, ou plus petits que, disons, 100 éléments? Avez-vous essayé autre chose que la force brute? –
pas ses devoirs! ... juste pensé qu'il y a probablement une bonne façon de le faire. – raklos