【问题标题】:Swift. Alternate items in 2 arrays merge [duplicate]迅速。 2个数组中的备用项目合并[重复]
【发布时间】:2016-08-05 12:42:38
【问题描述】:

我有这些数组。

let array1 = [10, 20, 30, 40, 50, 55]
let array2 = [11, 22, 33]

我只希望这个输出在一个数组中

[10, 11, 20, 22, 30, 33, 40, 50, 55]

如果第二个数组大小大于第一个。

let array1 = [10, 20, 30]
let array2 = [11, 22, 33, 45, 56, 78]

输出

[10, 11, 20, 22, 30, 33, 45, 56, 78]

有没有办法在 for 中不循环数组?

谢谢

【问题讨论】:

  • 源数组是否总是按升序排列?我们可以假设结果是按升序排序的吗?将[1, 2, 3][4, 5, 6] 合并的预期结果是什么?
  • 来源可以按顺序排序。这个例子可能会混淆。您的示例的结果可能是。 1、4、2、5、3、6

标签: arrays swift merge


【解决方案1】:

您可以对数组使用+ 运算符,使用Set 删除重复项并对结果进行排序:

let array1 = [10, 20, 30, 40, 50, 55]
let array2 = [11, 22, 33]

let mixedArray = Set(array1 + array2).sort(<)
print(mixedArray)
//[10, 11, 20, 22, 30, 33, 40, 50, 55]

这适用于任何输入数组大小。

【讨论】:

  • 对不起,数组并不总是可以按顺序排列
猜你喜欢
  • 2020-12-14
  • 2021-06-23
  • 1970-01-01
  • 1970-01-01
  • 2013-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多