Java | Leetcode Java题解之第318题最大单词长度乘积

题目:

题解:

java 复制代码
class Solution {
    public int maxProduct(String[] words) {
        Map<Integer, Integer> map = new HashMap<Integer, Integer>();
        int length = words.length;
        for (int i = 0; i < length; i++) {
            int mask = 0;
            String word = words[i];
            int wordLength = word.length();
            for (int j = 0; j < wordLength; j++) {
                mask |= 1 << (word.charAt(j) - 'a');
            }
            if (wordLength > map.getOrDefault(mask, 0)) {
                map.put(mask, wordLength);
            }
        }
        int maxProd = 0;
        Set<Integer> maskSet = map.keySet();
        for (int mask1 : maskSet) {
            int wordLength1 = map.get(mask1);
            for (int mask2 : maskSet) {
                if ((mask1 & mask2) == 0) {
                    int wordLength2 = map.get(mask2);
                    maxProd = Math.max(maxProd, wordLength1 * wordLength2);
                }
            }
        }
        return maxProd;
    }
}
相关推荐
invicinble几秒前
java集合类(二)--map
java·开发语言·python
rannn_1112 分钟前
【SQL题解】力扣高频 SQL 50题|DAY4
数据库·后端·sql·leetcode·题解
Mr-Wanter7 分钟前
搭建局域网时间同步服务器
java·运维·服务器
代码笔耕7 分钟前
我们这样设计消息中心,解决了业务反复折腾的顽疾
java·后端·架构
没有bug.的程序员18 分钟前
负载均衡的真正含义:从算法到架构的深度解析
java·jvm·算法·微服务·架构·负载均衡
yc_xym18 分钟前
[项目实践]言聚论坛(后端)
java·项目开发
多仔ヾ19 分钟前
Solon + EasyQuery + ElementPlus 实现后台管理系统之 08-权限认证优化
java
LambdaCat20 分钟前
如何用 Prompt 让 AI 主动发现设计问题
java·ai·ai编程
changlianzhifu120 分钟前
分账系统:从“资金管道“到“增长引擎“,重塑商业价值分配新范式
java·服务器·前端
吃喝不愁霸王餐APP开发者22 分钟前
Java应用对接美团开放平台API时的HTTPS双向认证与证书管理实践
java·开发语言·https