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
}
相关推荐
你怎么知道我是队长3 小时前
Go语言标识符
后端·golang
烧瓶里的西瓜皮4 小时前
Go语言从零构建SQL数据库(9)-数据库优化器的双剑客
数据库·sql·golang
李匠20245 小时前
C++GO语言微服务和服务发现②
开发语言·c++·golang·服务发现
YY_pdd6 小时前
使用go开发安卓程序
android·golang
_Itachi__7 小时前
LeetCode 热题 100 543. 二叉树的直径
java·算法·leetcode
追逐梦想之路_随笔8 小时前
gvm安装go报错ERROR: Failed to use installed version
开发语言·golang
海风极客8 小时前
《Go小技巧&易错点100例》第三十三篇
开发语言·后端·golang
pigfu8 小时前
go 通过汇编学习atomic原子操作原理
汇编·golang·atomic·缓存行·lock指令
Go高并发架构_王工10 小时前
从零到精通:GoFrame ORM 使用指南 - 特性、实践与经验分享
数据结构·经验分享·golang
Tisfy10 小时前
LeetCode 1550.存在连续三个奇数的数组:遍历
算法·leetcode·题解·数组·遍历