티스토리 뷰
Question
Given an integer array nums of unique elements, return all possible subsets (the power set).
The solution set must not contain duplicate subsets. Return the solution in any order.
중복이 없는 정수 배열이 주어지면 가능한 모든 subsets(the power set)을 반환하여라.
중복된 subset이 포함되어서는 안 된다. 어떤 순서로 subset을 반환하건 상관이 없다.
제약사항
- 1 <= nums.length <= 10
- -10 <= nums[i] <= 10
- All the numbers of nums are unique.
Solution
고려사항
- 비어있는 배열이 주어졌을 때
Solution1 (Bruth Force)
class Solution {
public:
void make_subset(int start, vector<vector<int>> &ans, vector<int> & curr, vector<int>& nums){
if(start == nums.size()){
ans.push_back(curr);
return;
}
curr.push_back(nums[start]);
make_subset(start+1, ans, curr, nums);
curr.pop_back();
make_subset(start+1, ans, curr, nums);
}
vector<vector<int>> subsets(vector<int>& nums) {
vector<vector<int>> ans;
vector<int> curr;
make_subset(0, ans, curr, nums);
return ans;
}
};
- Time complexity : O(N x 2ⁿ), 모든 nums를 살피는데 드는 비용 * backtrack을 위한 비용
- Space Complexity : O(N) Curr을 유지하는데 드는 공간, 나머지는 in-place에서 이루어진다.
'IT > Problem Solving' 카테고리의 다른 글
[C++] LeetCode : Longest Palindromic Substring (0) | 2022.08.10 |
---|---|
[C++] Leetcode : Word Search (0) | 2022.08.02 |
[C++] LeetCode : Search in Rotated Sorted Array (0) | 2022.07.27 |
[C++] LeetCode : Search a 2D Matrix II (0) | 2022.07.26 |
[C++] Interview Question : Remove duplicate element (0) | 2022.07.21 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 자료구조
- interview question
- 러스트 입문
- 속초 맛집
- 인터뷰
- Interview
- algorithm
- LeetCode
- 맛집
- Problem Solving
- C++
- 반드시 알아야 할 자료구조
- 속초
- Tree
- DP
- coding interview
- 러스트 배우기
- 기술면접
- 러스트
- 리트코드
- 러스트 기초
- 알고리즘
- rust
- 솔직후기
- 트리
- 코딩인터뷰
- ProblemSolving
- Medium
- PS
- 내돈내산
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함