318 最大單詞長度乘積

2021-09-29 21:19:29 字數 907 閱讀 7520

給定乙個字串陣列 words,找到 length(word[i]) * length(word[j]) 的最大值,並且這兩個單詞不含有公共字母。你可以認為每個單詞只包含小寫字母。如果不存在這樣的兩個單詞,返回 0。

示例 1:

輸入: ["abcw","baz","foo","bar","xtfn","abcdef"]

輸出: 16

解釋: 這兩個單詞為 "abcw", "xtfn"。

示例 2:

輸入: ["a","ab","abc","d","cd","bcd","abcd"]

輸出: 4

解釋: 這兩個單詞為 "ab", "cd"。

示例 3:

輸入: ["a","aa","aaa","aaaa"]

輸出: 0

解釋: 不存在這樣的兩個單詞。

第一種常規思路:可以通過遍歷每次比較的兩個字串是否存在相同字元。這樣比較耗時。

class solution 

}return true;

}public int maxproduct(string words) }}

return maxx;

}}

第二種思路:是否可以通過二進位制的方式來表示乙個字串存在哪些字元,然後把兩個字串的二進位制表示進行與運算,如果不為0,則表示存在共同字元。如abc,表示為二進位制:00000000 00000000 00000000 00000111。bc表示為00000000 00000000 00000000 00000110。

class solution

}int ans = 0;

for(int i = 0;i < wlength;++i)}}

return ans;

}}

leetcode 318 最大單詞長度乘積

給定乙個字串陣列words,找到length word i length word j 的最大值,並且這兩個單詞不含有公共字母。你可以認為每個單詞只包含小寫字母。如果不存在這樣的兩個單詞,返回 0。示例 1 輸入 abcw baz foo bar xtfn abcdef 輸出 16解釋 這兩個單詞為...

leetcode318 最大單詞長度乘積

給定乙個字串陣列words,找到length word i length word j 的最大值,並且這兩個單詞不含有公共字母。你可以認為每個單詞只包含小寫字母。如果不存在這樣的兩個單詞,返回 0。示例 1 輸入 abcw baz foo bar xtfn abcdef 輸出 16解釋 這兩個單詞為...

Leetcode 318 最大單詞長度乘積

給定乙個字串陣列words,找到length word i length word j 的最大值,並且這兩個單詞不含有公共字母。你可以認為每個單詞只包含小寫字母。如果不存在這樣的兩個單詞,返回 0。示例 1 輸入 abcw baz foo bar xtfn abcdef 輸出 16解釋 這兩個單詞為...