0

N個のネストされた配列を持つことができる配列があります。Nには、NとMの両方が1より大きいM個の配列を含めることができます。いくつかの例には次のものがあります。

[[[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番目の要素に重複する値がある場合、ブール値のtrueまたはfalseを返すものが必要です。問題は、複合配列が一意の識別子ではないことです。または、この場合は整数と、などの各値配列の0番目の要素のみが、一意である必要があります。したがって、最後の配列の場合、が繰り返されると衝突します。[1,2,3][3,4,5]13[1,1,1][1,2,3]1

trueこのタイプのネストとシグナルを反復処理する、またはfalse重複があるかどうかを反復処理するための最良の方法は何ですか?

4

1 に答える 1

0
def uniq_prime_elements?(arr)
  prime_elements = arr.map(&:first).map(&:first).compact
  prime_elements.length == prime_elements.uniq.length
end
于 2012-06-01T21:40:20.560 に答える