class Solution {
public:
int maxProduct(vector<string>& words) {
int n=words.size();
vector<int> dict(n,0);
for(int i=0;i<n;++i){
for(char c:words[i]){
dict[i]|=(1<<(c-'a'));
}
}
int maxP=0;
for(int i=0;i<n;++i){
for(int j=i+1;j<n;++j){
if(!(dict[i]&dict[j])){
int p=words[i].length()*words[j].length();
maxP=max(maxP,p);
}
}
}
return maxP;
}
};Maximum Product of Word Lengths
最新推荐文章于 2021-11-17 23:27:07 发布
本文介绍了一种算法,用于计算给定单词列表中不共享任何字母的两个单词的最大乘积长度。通过位运算技巧,实现高效计算。
710

被折叠的 条评论
为什么被折叠?



