剑指 Offer II 079. 所有子集

2022-07-31  本文已影响0人  邦_

位运算。。 共有2的n次方种可能 1 << n



  func subsets(_ nums: [Int]) -> [[Int]] {

        var t = Array<Int>()
        var ans = Array<Array<Int>>()
        let n = nums.count
        for mask in 0..<(1 << n) {

            t.removeAll()
            for i in 0...n-1 {
                if ((mask & (1 << i))) != 0 {
                    t.append(nums[i])
                }
            }
            ans.append(Array.init(t))
            
        }
        
        return ans
    }

上一篇 下一篇

猜你喜欢

热点阅读