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
}
相关推荐
_日拱一卒12 分钟前
LeetCode:和为K的子数组
算法·leetcode·职场和发展
Mr_Xuhhh26 分钟前
LeetCode 热题 100 刷题笔记:数组与排列的经典解法
数据结构·算法·leetcode
liuqun031935 分钟前
go进阶之gc
开发语言·后端·golang
老四啊laosi39 分钟前
[双指针] 3. 力扣--快乐数
算法·leetcode·快慢指针
古城小栈42 分钟前
go核武器——pprof 性能分析
golang
会编程的土豆43 分钟前
leetcode hot 100 之哈希
算法·leetcode·哈希算法
_深海凉_1 小时前
LeetCode热题100-反转链表
python·leetcode·链表
Trouvaille ~1 小时前
【优选算法篇】BFS 解决最短路——寻找最优路径的真谛
c++·算法·leetcode·面试·蓝桥杯·宽度优先·最短路问题
Magic--1 小时前
【LeetCode 27. 移除元素】C++ 范围 for 极简实现与原理解析
c++·算法·leetcode
旖-旎1 小时前
位运算(只出现一次的数字|||)(5)
c++·算法·leetcode·位运算