单词长度的最大乘积
题目
给定一个字符串数组 words,请计算当两个字符串 words[i] 和 words[j] 不包含相同字符时,它们长度的乘积的最大值。假设字符串中只包含英语的小写字母。如果没有不包含相同字符的一对字符串,返回 0。
思路
代码
1. 暴力循环
/**
* @param {string[]} words
* @return {number}
*/
var maxProduct = function (words) {
let max = 0;
function repeatCheck(a, b) {
for (let i = 0; i < a.length; i++) {
if (b.indexOf(a[i]) !== -1) {
return true;
}
}
return false;
}
for (let i = 0; i < words.length - 1; i++) {
for (let j = 1; j < words.length; j++) {
const string = words[i] + words[j];
const x = words[i].length;
const y = words[j].length;
const isRepeat = repeatCheck(words[i], words[j]);
if (!isRepeat) {
max = Math.max(max, x * y);
}
}
}
return max;
};