Ruby - Fusionner deux tableaux et de supprimer les valeurs en double
J'ai deux tableaux
a = [1, 2, 3, 4, 5]
b = [2, 4, 6]
Je voudrais fusionner les deux groupes, puis supprimer les valeurs qui est la même chose avec d'autres ensembles. Le résultat devrait être:
c = [1, 3, 5, 6]
J'ai essayé de soustraire le tableau deux et le résultat est [1, 3, 5]. Je tiens également à obtenir les valeurs à partir de la deuxième tableau qui n'a pas en double dans le premier tableau..
a + b - (a & b)
Merci à vous, de la façon la plus simple que je ne le pensais.. Merci beaucoup!!
...ou
Merci à vous, de la façon la plus simple que je ne le pensais.. Merci beaucoup!!
...ou
(a-b)+(b-a)
.OriginalL'auteur user3204760 | 2015-11-23
Vous devez vous connecter pour publier un commentaire.
Vous pouvez effectuer les opérations suivantes!
Dmitri commentaire est également même si je suis venu avec mon idée de manière indépendante.
Vous devriez référence @Dimitri du commentaire précédent car il constitue la base pour vous répondre (même si vous avez proposé que de manière indépendante).
OriginalL'auteur Rubyrider
Utilisation
Array#uniq
.I would like to merge the two arrays, then remove the values that is the same with other array.
c'est l'énoncé du problème...votre solution ne fonctionne pas dans ce cas.cette solution est correcte. c'est juste une approche différente. sauf si il a la pire performance, il est plus évident de l'approche que l'on a accepté la réponse.
OriginalL'auteur EJ2015
Comment à ce sujet.
Documentation de
|
méthodeDocumentation de
&
méthodeOriginalL'auteur ironsand
Comment sur
Set.new([1,2,3]+[1,4,5])
?Qui renvoie
[1,2,3,4,5]
OriginalL'auteur Sig
Même que
Array#uniq
:Source
OriginalL'auteur noraj