318. Maximum Product of Word Lengths

ss
May 27, 2021

--

我一開始只想到到最差的作法, 哇用bit這招真的高明, 然後只要兩數互相and, 不為0就代表一定有重複的字母

時間複雜度為O(n²)

class Solution {
public:
int maxProduct(vector<string>& words) {
vector<int> mask(words.size());
int res = 0;
for(int i = 0; i < words.size();i++){
for(char c: words[i]){
mask[i] |= 1 << (c - 'a');
}
for(int j = 0; j < i;j++){
if((mask[i] & mask[j]) == 0){
res = max(res, (int)(words[i].size() * words[j].size()));
}
}
}
return res;
}
};

--

--

ss
ss

No responses yet