Leet Code Daily 2024-05-23 - The number of Beautiful Subsets
Code
● ● ●c++class Solution {
public:
int dfs(vector<int>& nums, unordered_map<int, int>& cnt, int i, int k) {
if (i == nums.size()) {
return cnt.empty() ? 0 : 1;
}
int ret = dfs(nums, cnt, i + 1, k);
if (cnt[nums[i] + k] == 0 && cnt[nums[i] - k] == 0) {
cnt[nums[i]]++;
ret += dfs(nums, cnt, i + 1, k);
cnt[nums[i]]--;
}
return ret;
}
int beautifulSubsets(vector<int>& nums, int k) {
unordered_map<int, int> cnt;
return dfs(nums, cnt, 0, k);
}
};