解題思路
找出所有可能的子集。
方法就是用 for 看過從「開頭」以後的每個位置,每次都是「選」或者「不選」兩種可能。
程式碼
class Solution { public: void helper(vector<int>& nums, int start, vector<vector<int>>& ans, vector<int> v) { ans.push_back(v); for(int i=start; i<nums.size(); i++) { v.push_back(nums[i]); helper(nums, i+1, ans, v); v.pop_back(); } } vector<vector<int>> subsets(vector<int>& nums) { vector<vector<int>> ans; vector<int> v; helper(nums, 0, ans, v); return ans; } };
沒有留言:
張貼留言