leetcode 318: Maximum Product of Word Lengths
2016-08-16 20:51
351 查看
Given a string array
Example 1:
Given
Return
The two words can be
Example 2:
Given
Return
The two words can be
Example 3:
Given
Return
No such pair of words.
题意:求,不包含相同字符的两个string的最大长度积;
思路:
如何降低判断两string是否包含相同字符的开销???
用bit来表示string元素中a-z每个字符是否出现;
View Code
words, find the maximum value of
length(word[i]) * length(word[j])where the two words do not share common letters. You may assume that each word will contain only lower case letters. If no such two words exist, return 0.
Example 1:
Given
["abcw", "baz", "foo", "bar", "xtfn", "abcdef"]
Return
16
The two words can be
"abcw", "xtfn".
Example 2:
Given
["a", "ab", "abc", "d", "cd", "bcd", "abcd"]
Return
4
The two words can be
"ab", "cd".
Example 3:
Given
["a", "aa", "aaa", "aaaa"]
Return
0
No such pair of words.
题意:求,不包含相同字符的两个string的最大长度积;
思路:
如何降低判断两string是否包含相同字符的开销???
用bit来表示string元素中a-z每个字符是否出现;
class Solution { public: int maxProduct(vector<string>& words) { int len = words.size(); if(len==0) return 0; vector<int> v(len,0); vector<int> l(len,0); for(int i=0;i<len;i++) { string tstr = words[i]; int tlen = tstr.length(); l[i] = tlen; for(int j=0;j<tlen;j++) { int ttmp = 1<<(tstr[j]-'a'); v[i] |= ttmp; } } int ans = 0; for(int i=0;i<len;i++) { for(int j=i+1;j<len;j++) { int t2 = v[i]&v[j]; if(t2!=0) continue; int tmp = l[i]*l[j]; if(tmp>ans) ans = tmp; } } return ans; } };
View Code
相关文章推荐
- LeetCode 318 Maximum Product of Word Lengths (位压缩)
- [LeetCode 318] Maximum Product of Word Lengths
- LeetCode 318 Maximum Product of Word Lengths
- leetcode318-Maximum Product of Word Lengths
- Leetcode 318 Maximum Product of Word Lengths
- LeetCode 318 -Maximum Product of Word Lengths ( JAVA )
- Java [Leetcode 318]Maximum Product of Word Lengths
- LeetCode 318 Maximum Product of Word Lengths
- LeetCode318——Maximum Product of Word Lengths,从time limit exceeded到accept
- leetcode:bits:Maximum Product of Word Lengths(318)
- leetcode——318——Maximum Product of Word Lengths
- Leetcode 318 Maximum Product of Word Lengths 字符串处理+位运算
- Leetcode 318 Maximum Product of Word Lengths
- [LeetCode 318] Maximum Product of Word Lengths(Python)
- leetcode 318 Maximum Product of Word Lengths
- leetcode318:Maximum Product of Word Lengths(medium)
- [leetcode 318]Maximum Product of Word Lengths--判断两个字符串是否有相同的字符
- leetcode(318):Maximum Product of Word Lengths
- LeetCode 318: Maximum Product of Word Lengths
- LeetCode 318 Maximum Product of Word Lengths