本文主要是介绍leetcode_88 Subsets,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目:
Given a set of distinct integers, nums, return all possible subsets (the power set).
Note: The solution set must not contain duplicate subsets.
Example:
Input: nums = [1,2,3] Output: [[3],[1],[2],[1,2,3],[1,3],[2,3],[1,2],[] ]
与上题类似,不过k没有限制,k 可以是不大于元素个数的任何值,那么每次回溯的结果都要保存
代码如下:
class Solution {
public:vector<vector<int> > res;void backtrace(vector<int> &nums,vector<int> &comb,int begin){res.push_back(comb);for(int i = begin; i < nums.size(); i++){comb.push_back(nums[i]);backtrace(nums,comb,i+1);comb.pop_back();}}vector<vector<int>> subsets(vector<int>& nums) {res.clear();vector<int> comb;backtrace(nums,comb,0);return res;}
};
这篇关于leetcode_88 Subsets的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!