gpt4 book ai didi

swift - 从一个集合中初始化一个数组是否很复杂,如果是的话是什么?

转载 作者:行者123 更新时间:2023-11-28 13:35:27 32 4
gpt4 key购买 nike

swift :选项 1

var dictionaryWithoutDuplicates = [Int: Int]()
for item in arrayWithDuplicates {
if dictionaryWithoutDuplicates[item] == nil {
dictionaryWithoutDuplicates[item] = 1
}
}
print(dictionaryWithoutDuplicates.keys)
// [1,2,3,4]

选项 2

let arrayWithDuplicates = [1,2,3,3,2,4,1]
let arrayWithoutDuplicates = Array(Set(arrayWithDuplicates))
print(arrayWithoutDuplicates)
// [1,2,3,4]

对于第一个选项,可能有更优雅的方法来实现,但这不是我的意思,我只是想展示一个复杂度为 n 的示例。这两个选项都返回一个没有重复的数组。由于第一个选项的复杂度为 O(n),我想知道第二个选项是否也有复杂度,如果有,它是什么?

最佳答案

你所做的几乎就是Set做。 Set<T>几乎只是一个 [T: Void] (又名 Dictionary<T, Void> )。

两个例子都有O(arrayWithDuplicates.count)时间和空间复杂度。

关于swift - 从一个集合中初始化一个数组是否很复杂,如果是的话是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56693290/

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