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;
    }
}
相关推荐
努力学算法的蒟蒻5 分钟前
day52(1.2)——leetcode面试经典150
算法·leetcode·面试
菩提祖师_5 分钟前
基于Java的物联网智能交通灯控制系统
java·开发语言·物联网
java修仙传8 分钟前
力扣hot100:字符串解码
算法·leetcode·职场和发展
公众号:ITIL之家10 分钟前
服务价值体系重构:在变化中寻找不变的运维本质
java·运维·开发语言·数据库·重构
梭七y13 分钟前
【力扣hot100题】(116)矩阵置零
算法·leetcode·矩阵
自在极意功。14 分钟前
Spring 中 Bean 的生命周期
java·spring·bean生命周期
zhaokuner16 分钟前
01-领域与问题空间-DDD领域驱动设计
java·开发语言·设计模式·架构
、BeYourself22 分钟前
Spring AI RAG 系统文档加载
java·后端·spring·springai
cike_y24 分钟前
Spring:代理模式之静态代理&动态代理
java·后端·spring·代理模式
青岛少儿编程-王老师24 分钟前
CCF编程能力等级认证GESP—C++8级—20251227
java·开发语言·c++