mirror of
https://github.com/halfrost/LeetCode-Go.git
synced 2025-07-04 16:12:47 +08:00
37 lines
539 B
Go
37 lines
539 B
Go
package leetcode
|
|
|
|
func wordSubsets(A []string, B []string) []string {
|
|
var counter [26]int
|
|
for _, b := range B {
|
|
var m [26]int
|
|
for _, c := range b {
|
|
j := c - 'a'
|
|
m[j]++
|
|
}
|
|
for i := 0; i < 26; i++ {
|
|
if m[i] > counter[i] {
|
|
counter[i] = m[i]
|
|
}
|
|
}
|
|
}
|
|
var res []string
|
|
for _, a := range A {
|
|
var m [26]int
|
|
for _, c := range a {
|
|
j := c - 'a'
|
|
m[j]++
|
|
}
|
|
ok := true
|
|
for i := 0; i < 26; i++ {
|
|
if m[i] < counter[i] {
|
|
ok = false
|
|
break
|
|
}
|
|
}
|
|
if ok {
|
|
res = append(res, a)
|
|
}
|
|
}
|
|
return res
|
|
}
|