gpt4 book ai didi

ruby - 检查数组是否是有序子集

转载 作者:数据小太阳 更新时间:2023-10-29 07:42:20 24 4
gpt4 key购买 nike

我想知道一个数组是否是另一个数组的有序子集:

  • [1,2][1,2,3]
  • 的有序子集
  • [1,3][1,2,3]
  • 的有序子集
  • [2,1] 不是 [1,2,3]
  • 的有序子集

我已经找到了一些解决方案,但每个解决方案都忽略了顺序。到目前为止,我看到的每种方法都忽略了数组的顺序:

[1,2,3] - [2,1] #=> [3]
[1,2,3] & [2,1] #=> [1,2]
[1,2,3].to_set.superset?([2,1].to_set) #=> true

更新:根据下面的讨论,我更新了我的问题。

最佳答案

b == a & b

检查 b 是否以相同顺序包含在 a 中。

换句话说:一般来说,你有 B⊆A ⇔ B=A∩B。而 Ruby 的 Array#& 保留了(左操作数的)顺序。

关于ruby - 检查数组是否是有序子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47636783/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com