最大单词长度乘积

给定一个字符串数组 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

解释: 不存在这样的两个单词。

使用比特进行哈希。

 public class Solution {
public int maxProduct(String[] words) {
int[] f = new int[words.length];
for(int i=0; i<words.length; i++) {
char[] wa = words[i].toCharArray();
for(int j=0; j<wa.length; j++) {
f[i] |= 1 << (wa[j]-'a');
}
}
int max = 0;
for(int i=0; i<words.length-1; i++) {
for(int j=i+1; j<words.length; j++) {
if ((f[i] & f[j]) == 0) max = Math.max(max, words[i].length() * words[j].length());
}
}
return max;
}
}

最新文章

  1. Tortoise SVN Clean up失败的解决方法
  2. css-布局1-基本属性
  3. VB生成xml
  4. loadrunner controller:设置多个load generator
  5. JavaScript的兼容
  6. JavaEE HttpServlet 解析
  7. 使用ASP.NET SignalR实现一个简单的聊天室
  8. Electron学习笔记(一)
  9. python的GIL
  10. 稀疏矩阵 part 1
  11. 【Boost】boost::string_algo详解2——find相关函数
  12. CRF++安装,提示libstdc++.so.6: version `GLIBCXX_3.4.20&#39; not found解决
  13. 3.1 vue组件的使用
  14. MySql union与order by
  15. CAS单点登录安装笔记
  16. Oracle数据库中 to_date()与24小时制表示法及mm分钟的显示
  17. 28.OGNL与ValueStack(VS)-总结$ # %的区别
  18. MySQL面试宝典
  19. the resource is not on the build path of a php project
  20. 【转】NHIBERNATE的各种保存方式的区别 (SAVE,PERSIST,UPDATE,SAVEORUPDTE,MERGE,FLUSH,LOCK)

热门文章

  1. oozie.log报提示:org.apache.oozie.service.ServiceException: E0104错误 An Admin needs to install the sharelib with oozie-setup.sh and issue the &#39;oozie admin&#39; CLI command to update sharelib
  2. Python 版本对比
  3. OpenGL 透视投影推导图解
  4. Android图片压缩上传(二)
  5. 推荐一个高大上的网易云音乐命令行播放工具:musicbox
  6. 三星系列NXP系列核心板设计研发-迅为嵌入式ARM方案提供商
  7. About the iOS File System
  8. liunx 修改IP地址
  9. finger - 用户信息查找程序
  10. flex布局以及相关属性