【leetcode题解】【M】【10】318. Maximum Product of Word Lengths
来源:互联网 发布:kindle怎么下软件 编辑:程序博客网 时间:2024/05/29 15:08
Given a string array 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.
Credits:
Special thanks to @dietpepsi for adding this problem and creating all test cases.
Subscribe to see which companies asked this question
最开始用 集合做,不过太慢了
然后看到可以用位操作,把每个字符串,转成一个26位的 bit串,关键是 用 | 来
然后对每个bit串,互相之间进行取 & 操作,如果为0,则说明没有重复的字母
class Solution(object): def maxProduct(self, words): #bit = [0] maxx = 0 bit = [0] * len(words) for i in xrange(len(words)): for j in words[i]: bit[i] |= 1 << (ord(j) - ord('a')) #print bit for i in xrange(len(bit)): for j in xrange(i+1,len(bit)): #print i,j if len(words[i])*len(words[j])< maxx: continue if bit[i] & bit[j] == 0: maxx = max(maxx,len(words[i])*len(words[j])) return maxx ''' pay attention to those like 'aaa',when using set it's too slow for i in xrange(len(words)): for j in xrange(i+1,len(words)): a = set(words[i]) b = set(words[j]) s = set(words[i] + words[j]) if len(s) ==(len(a)+len(b)): maxx = max(maxx,len(words[i])*len(words[j])) '''
0 0
- 【leetcode题解】【M】【10】318. Maximum Product of Word Lengths
- LeetCode题解:Maximum Product of Word Lengths
- 【题解】Leetcode.318. Maximum Product of Word Lengths
- LeetCode 318. Maximum Product of Word Lengths 题解(C++)
- 【leetcode】318. Maximum Product of Word Lengths
- 318. Maximum Product of Word Lengths LeetCode
- [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
- [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
- [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
- 将Cocos2d-x从iOS平台移植到Android平台需要修改的地方
- Good Bye2015,Hello 2016
- Android动态广播添加权限
- hadoop安装包的目录结构
- 整数拆分 算法。
- 【leetcode题解】【M】【10】318. Maximum Product of Word Lengths
- 同源策略和跨域访问
- Linux设置普通用户无密码sudo权限
- Linux关闭防火墙、SELinux
- 关于android EditText去掉下滑线
- Hadoop的伪分布式搭建
- Android多点触控之——MotionEvent(触控事件)
- Introduction to Glide, Image Loader Library for Android, recommended by Google
- Jenkins 简介