给定一个字符串数组 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 {
public:
    int maxProduct(vector<string>& words) {
        int res = 0;
        unordered_map<int, int> m;
        for (string word : words) {
            int mask = 0;
            for (char c : word) {
                mask |= 1 << (c - 'a');
            }
            m[mask] = max(m[mask], int(word.size()));
            for (auto a : m) {
                if (!(mask & a.first)) {
                    res = max(res, (int)word.size() * a.second);
                }
            }
        }
        return res;
    }
};

318.最大单词长度乘积相关推荐

  1. LeetCode 391. 完美矩形(扫描线) / 318. 最大单词长度乘积 / 563. 二叉树的坡度

    391. 完美矩形 2021.11.16 每日一题 题目描述 给你一个数组 rectangles ,其中 rectangles[i] = [xi, yi, ai, bi] 表示一个坐标轴平行的矩形.这 ...

  2. C++题解-Leecode 318. 最大单词长度乘积——Leecode每日一题系列

    今天是坚持每日一题打卡的第二十二天 题目链接:https://leetcode-cn.com/problems/maximum-product-of-word-lengths/ 题解汇总:https: ...

  3. 318. 最大单词长度乘积 golang

    question 给定一个字符串数组 words,找到 length(word[i]) * length(word[j]) 的最大值,并且这两个单词不含有公共字母.你可以认为每个单词只包含小写字母.如 ...

  4. LeetCode 318. 最大单词长度乘积(位运算)

    1. 题目 给定一个字符串数组 words,找到 length(word[i]) * length(word[j]) 的最大值,并且这两个单词不含有公共字母.你可以认为每个单词只包含小写字母.如果不存 ...

  5. leetcode 318 最大单词长度乘积

    https://leetcode-cn.com/problems/maximum-product-of-word-lengths/ 题目 给定一个字符串数组wordswordswords,找到leng ...

  6. leetcode 318. Maximum Product of Word Lengths | 318. 最大单词长度乘积

    题目 https://leetcode.com/problems/maximum-product-of-word-lengths/ 题解 中规中矩的题目,中规中矩的思路,不像是一个 medium 题. ...

  7. 【LeetCode笔记 - 每日一题】318. 最大单词长度乘积(Java、位运算)

    文章目录 题目描述 思路 && 代码 题目描述 挺不错!有bitmap的感觉了. 思路 && 代码 思路好想:两两对比,无公共判断,维护 res 那么,如何进行公共判断 ...

  8. JAVA(2021-11-17)leetcode每日一题---- 最大单词长度乘积

    这个题的难点并不在于找的过程,因为没有什么可以记录的,就是要挨个比,n平方的复杂度.但是这个题的优化空间在于比较两个单词是否含有公共字母. 一看到是否含有重复的,是否含有重复字符,我们就应该想到是不是 ...

  9. python找最长的单词_318. 最长单词长度乘积(Python)

    题目 难度:★★★☆☆ 类型:数组,字符串 方法:无 给定一个字符串数组 words,找到 length(word[i]) * length(word[j]) 的最大值,并且这两个单词不含有公共字母. ...

  10. 剑指Offer Ⅱ 005.单词长度的最大乘积 (力扣剑指Offer专项突击版——整数_5)

    题目 给定一个字符串数组 words,请计算当两个字符串 words[i] 和 words[j] 不包含相同字符时,它们长度的乘积的最大值.假设字符串中只包含英语的小写字母.如果没有不包含相同字符的一 ...

最新文章

  1. Delphi下利用WinIo模拟鼠标键盘详解
  2. 2021年春季学期教学记录
  3. 最明的int和Integer的区别
  4. OpenGL实现3D魔方游戏源代码
  5. log4j.rootLogger 与log4j.rootCategory 有什么区别 .
  6. (十七)java版spring cloud+spring boot 社交电子商务平台-spring+springmvc+kafka分布式消息中间件集成方案...
  7. 如何巧妙的使用ArrayList的Clone方法
  8. Navicat for MySQL - 破解
  9. DELPHI获取网卡MAC地址 转
  10. C++描述杭电OJ 2012. 素数判定 ||
  11. WindowsXP命令行修改服务启动选项
  12. 【POJ - 2376】Cleaning Shifts (贪心)
  13. STL vector 用法
  14. 使用正则表达式从字符串中提取email
  15. 隔壁宿舍的都哭了,单片机最小应用系统不懂你都毕不了业
  16. printf格式控制符的完整格式(转载)
  17. IDEA插件系列(46):PDF Viewer插件——PDF文档查看器
  18. 如何通过提问识人(行为面试法)
  19. VC - vs2017里poco的websocket使用netssl
  20. 安全服务/渗透测试工程师_面试题之OWASP TOP 10

热门文章

  1. WPF之HierarchicalDataTemplate
  2. 一个软件工程师在北京的反省
  3. jdk 动态代理基本例子
  4. Debian Gnu/Linux8.5安装GOLANG环境笔记
  5. Navicat for Mysql 如何备份数据库
  6. hihoCoder #1014 : Trie树 [ Trie ]
  7. Clob,Blob,InputStream,byte 互转
  8. pop3方式接收不了邮件原因
  9. mysql innodb_log_group_home_dir_如何添加和调整mysql innodb log文件
  10. pythonpm2.5空气质量提醒_Python实现抓取城市的PM2.5浓度和排名