gpt4 book ai didi

swift - Swift 中的两次无条件返回

转载 作者:行者123 更新时间:2023-11-28 10:05:08 24 4
gpt4 key购买 nike

我看过下面的解决方案,但我无法理解这里 return 的用法。

这两个return是怎么分开的,条件在哪里?

func majorityElement(_ nums: [Int]) -> [Int] {
var elems: [Int: Int] = [:]
for n in nums {
elems[n] = (elems[n] ?? 0) + 1
}
return elems.compactMap { key, value in
if value > nums.count / 3 { return key }
return nil
}
}

最佳答案

有第一个return,return elems.compactMap,返回compactMap的结果作为函数结果(数组)然后闭包里面有两个return返回映射的结果,即添加到数组中的内容。

如果给定的 value 大于 nums.count/3 则返回 key 并添加到数组中,否则 nil 被返回意味着没有任何东西被添加到数组中。

关于swift - Swift 中的两次无条件返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54933693/

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