如何从这样的正整数和负整数数组中有效删除正整数的负重复项:
[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/

    10-13 06:42
    查看更多