确保嵌套ruby数组中的唯一元素

时间:2012-06-01 21:27:45

标签: ruby arrays

我有一个可以有N个嵌套数组的数组,其中N可以包含M个数组,其中N和M都是> = 1.一些例子包括以下内容:

[[[1,2,3],[3,4,5]],[[2,1,1]]]

[[[1,2,3]],[]]]

最后

[[[1,2,3],[3,4,5]],[[2,1,1]], [[1,1,1],[2,2,2]]]

如果嵌套数组中的0 th 元素存在重复值,我需要返回布尔值true或false的东西,问题是复合数组不是唯一标识符。每个值数组中只有0 th 元素,例如[1,2,3][3,4,5],在本例中为整数13,就是我需要一个独特的反对。因此,对于最后一个数组,[1,1,1][1,2,3]会在重复1时发生冲突。

迭代这种类型的嵌套并告知truefalse是否存在重复的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

def uniq_prime_elements?(arr)
  prime_elements = arr.map(&:first).map(&:first).compact
  prime_elements.length == prime_elements.uniq.length
end