作者:
sixB (6B)
2024-10-18 10:24:25※ 引述《sixB (6B)》之銘言:
: 2044. or找最大 然後 conut
: ##ㄙ路
報搜好快可是不太能接受==
看一看發現拿東西感覺很背包
改dp
class Solution {
public:
int countMaxOrSubsets(vector<int>& nums) {
// find max
unordered_map<int, int> or_val_cnt;
// <or_val, cnt>
or_val_cnt[0] = 1;
int maxi = 0;
for(int i: nums){
maxi |= i;
unordered_map<int, int> new_cnt = or_val_cnt;
for(auto [val, cnt]: new_cnt){
or_val_cnt[ val | i ] += cnt;
}
}
return or_val_cnt[maxi];
}
};
用int arr比hashmap慢好多
因為num range很寬 可是len很小
剛剛看到一個佐助的solution用bitmask
太潮惹==