解题思路
五分钟一遍过
- 一开始就想到用两层循环,类似排序算法,两两比较,但是要判断两个字符串是不是有包含问题,所以先写了一个
isSame工具函数 - 定义
res返回值,如果isSame没有返回true,那么这次比较的值就有效,和res做比较,比他大就更新res
用时:5-7分钟左右
代码
/**
* @param {string[]} words
* @return {number}
*/
// 两个字符串是不是有相同的地方
function isSame(str1,str2){
for(let i=0;i<str1.length;i++){
if(str2.includes(str1[i]))return true;
}
}
var maxProduct = function(words) {
let res = 0;
// 两层循环,两两比较
for(let i=0;i<words.length;i++){
for(let j=i+1;j<words.length;j++){
// 符合条件的话,就进行计算,然后和res比较大小
if(isSame(words[i],words[j])!==true){
const _res = words[i].length*words[j].length;
if(_res>res)res = _res;
}
}
}
return res;
};