318. Maximum Product of Word Lengths
Last updated
Last updated
/**
* Time complexity :
* Space complexity :
*/
class Solution {
public int maxProduct(String[] words) {
if(words == null || words.length < 2) {
return 0;
}
int n = words.length;
int[] values = new int[n];
for(int i = 0; i < n; i++) {
String word = words[i];
for(int j = 0; j < word.length(); j++) {
values[i] |= (1 << word.charAt(j)-'a');
}
}
int maxLen = 0;
for(int i = 0; i < n; i++) {
for(int j = i+1; j < n; j++) {
if((values[i] & values[j]) == 0) {
maxLen = Math.max(maxLen, words[i].length()*words[j].length());
}
}
}
return maxLen;
}
}