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

题目:

题解:

Go 复制代码
func maxProduct(words []string) (ans int) {
    masks := map[int]int{}
    for _, word := range words {
        mask := 0
        for _, ch := range word {
            mask |= 1 << (ch - 'a')
        }
        if len(word) > masks[mask] {
            masks[mask] = len(word)
        }
    }

    for x, lenX := range masks {
        for y, lenY := range masks {
            if x&y == 0 && lenX*lenY > ans {
                ans = lenX * lenY
            }
        }
    }
    return
}
相关推荐
胡萝卜的兔4 小时前
go 日志的分装和使用 Zap + lumberjack
开发语言·后端·golang
何似在人间5755 小时前
Go语言快速入门教程(JAVA转go)——1 概述
java·开发语言·golang
芒克芒克6 小时前
LeetCode 面试经典 150 题:多数元素(摩尔投票法详解 + 多解法对比)
算法·leetcode·面试
ゞ 正在缓冲99%…8 小时前
leetcode438.找到字符串中所有字母异位词
leetcode·滑动窗口
pzx_0018 小时前
【LeetCode】392.判断子序列
算法·leetcode·职场和发展
我想当数字游民11 小时前
Go的切片是什么?一些小细节和容易错的地方
后端·golang
iナナ11 小时前
Java优选算法——二分查找
数据结构·算法·leetcode
Adorable老犀牛13 小时前
阿里云-基于通义灵码实现高效 AI 编码 | 8 | 上手实操:LeetCode学习宝典,通义灵码赋能算法高效突破
学习·算法·leetcode
林木辛14 小时前
LeetCode 热题 160.相交链表(双指针)
算法·leetcode·链表
崎岖Qiu15 小时前
leetcode380:RandomizedSet - O(1)时间插入删除和获取随机元素(数组+哈希表的巧妙结合)
java·数据结构·算法·leetcode·力扣·散列表