如何从这样的正整数和负整数数组中有效删除正整数的负重复项:
[1, 5, 10, 5, -5, -1, 9]
因此,我想要:
[1, 5, 10, 5, 9]
(-1 和 -5 被删除,因为它们是 1 和 5 的负重复)
最佳答案
这是我能找到的最简单的方法:
array = [1, 5, 10, 5, -5, -1, 9]
p array - array.select{ |i| i > 0 }.map{ |i| -i }
# [1, 5, 10, 5, 9]
它使用
Array#-
,它应该相当快。关于arrays - 如何从数组中删除负重复项?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41837459/