• 小千
    2019-12-16
    交作业
    func getSubsetsOfSet2<T>(set: Set<T>) -> Array<Set<T>> {
        let elements = Array(set)
        return getSubsetsOfSet4(elements: elements, index: elements.count-1)
    }
    func getSubsetsOfSet4<T>(elements: Array<T>, index: Int) -> Array<Set<T>> {
        var subSets = Array<Set<T>>() // 子集的数组
        // 先添加空集
        subSets.append(Set([]))
        // 以下获取每位元素加入的非空子集
        for element in elements{
            for subSet in subSets{
                var subSetWithCurrent = subSet
                subSetWithCurrent.insert(element)
                subSets.append(subSetWithCurrent)
            }
          print("当前元素为:\(element),【选】,子集为:\(subSets)")
        }
        print(">>>>>>>>>>所有子集为:\(subSets)")
        return subSets
    }

    let set0:Set<Int> = [1,2,3]
    getSubsetsOfSet2(set: set0)
    展开
    
    
我们在线,来聊聊吧