gpt4 book ai didi

Swift - 如何检查所有子集并在列表中存在每个项目时返回 true

转载 作者:搜寻专家 更新时间:2023-11-01 06:55:34 26 4
gpt4 key购买 nike

我需要一种方法来检查集合中的集合,其中每个子集在返回 true 之前必须存在于列表中。

init(){ 
let list1 : Set<Int> = [1,2]
let list2 : Set<Int> = [3,4]
let list3 : Set<Int> = [5,6,7]
let list4 : Set<Int> = [8,9]

listGroups = [list1,list2,list3,list4]
}

func checklist(_ list: [Numbers]) -> Bool {
//I want to check that each sub set(list1-list4) elements exist
//E.G. if list contains 2, 3, 7, 8 it will return true
//and if list contain 1, 4, 7, freturn false as it doesn't contain a
//number from each set
}

我不一定要为我完成它,而是要解释如何处理以及为什么建议采用这种方法。

我已使代码示例保持简单,但如果您需要更多内容,请告诉我。

最佳答案

swift 4.2

您应该检查 listGroups 的每个 list 是否至少包含一个来自 numbers 数组的 Int。如果没有,返回 false。如果是,则返回 true。为此,您可以使用 allSatisfy 方法

func checklist(_ numbers: [Int]) -> Bool {
return listGroups.allSatisfy { $0.contains(where: numbers.contains) }
}

旧版本

对于旧版本的 Swift,您可以为每个循环创建类似的循环,但只是在多行上

func checklist(_ numbers: [Int]) -> Bool {

for list in listGroups {
if !list.contains(where: numbers.contains) {
return false
}
}
return true
}

关于Swift - 如何检查所有子集并在列表中存在每个项目时返回 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53637597/

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