我可以从具有重复数字的数组中获得一组唯一数字
let arrayWithReapeats = [1, 2, 3, 7, 3]
let unique = Array(Set(arrayWithReapeats))
我需要一个具有独特范围的阵列
Range<String.Index>
从具有重复范围的阵列,例如像这样 .
let arrayWithReapeatsIdexes = [1..<5, 3..<9, 9..<25, 3..<9]
我不能对Set使用相同的方法,因为默认情况下只有String,Int,Double和Bool可以使用 . 如何使范围可以使用上述方法?
2 回答
哈希值的唯一要求是
这意味着“琐碎”的哈希函数
是有效的,有效:
您还可以使用以下事实:从开始到结束索引的距离是整数类型(因此具有哈希值):
或者从描述字符串中计算哈希值(例如“3 .. <9”):
你必须弄清楚哪一个对你的目的最有效 .
试试这个: