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
}
相关推荐
jiao_mrswang1 小时前
leetcode-18-四数之和
算法·leetcode·职场和发展
王燕龙(大卫)1 小时前
leetcode 数组中第k个最大元素
算法·leetcode
Swift社区10 小时前
LeetCode - #139 单词拆分
算法·leetcode·职场和发展
Dong雨12 小时前
力扣hot100-->栈/单调栈
算法·leetcode·职场和发展
trueEve13 小时前
SQL,力扣题目1369,获取最近第二次的活动
算法·leetcode·职场和发展
007php00713 小时前
GoZero 上传文件File到阿里云 OSS 报错及优化方案
服务器·开发语言·数据库·python·阿里云·架构·golang
高 朗15 小时前
【GO基础学习】基础语法(2)切片slice
开发语言·学习·golang·slice
九圣残炎15 小时前
【从零开始的LeetCode-算法】3354. 使数组元素等于零
java·算法·leetcode
IT书架15 小时前
golang面试题
开发语言·后端·golang
程序猿小柒16 小时前
leetcode hot100【LeetCode 4.寻找两个正序数组的中位数】java实现
java·算法·leetcode