mirror of
https://github.com/halfrost/LeetCode-Go.git
synced 2025-07-04 16:12:47 +08:00
24 lines
546 B
Go
24 lines
546 B
Go
package leetcode
|
|
|
|
func maxProduct318(words []string) int {
|
|
if words == nil || len(words) == 0 {
|
|
return 0
|
|
}
|
|
length, value, maxProduct := len(words), make([]int, len(words)), 0
|
|
for i := 0; i < length; i++ {
|
|
tmp := words[i]
|
|
value[i] = 0
|
|
for j := 0; j < len(tmp); j++ {
|
|
value[i] |= 1 << (tmp[j] - 'a')
|
|
}
|
|
}
|
|
for i := 0; i < length; i++ {
|
|
for j := i + 1; j < length; j++ {
|
|
if (value[i]&value[j]) == 0 && (len(words[i])*len(words[j]) > maxProduct) {
|
|
maxProduct = len(words[i]) * len(words[j])
|
|
}
|
|
}
|
|
}
|
|
return maxProduct
|
|
}
|