LeetCode #78 Subsets by Swift

314 阅读1分钟

题目描述:

给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。

说明:解集不能包含重复的子集。

示例:

输入: nums = [1,2,3] 输出: [ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], [] ]

Swift代码: **Add one integer every time. Not only add to ans array, but add a integer to ans array 's element.

For example, input = [1,2,3] Add a number 1: ans = [ [1] ] and add a number 2: ans = [ [1], [1,2], [2] ] and add a number 3: ans = [ [1], [1,2], [2], [1,3], [1,2,3], [2,3], [3] ] **

func subsets(_ nums: [Int]) -> [[Int]] {
        var ans:[[Int]] = []
        for i in 0..<nums.count{
            for j in 0..<ans.count{
                var temp = ans[j]
                temp.append(nums[i])
                ans.append(temp)
            }
            ans.append([nums[i]])
        }
        ans.append([])
        return ans
    }