lc-go/solutions/3/q383/solution.go
2025-12-23 19:00:11 +09:00

25 lines
422 B
Go

package q383
func canConstruct(ransomNote string, magazine string) bool {
counts := make([]int, 'z'-'a'+1)
for _, c := range magazine {
if c < 'a' || c > 'z' {
continue
}
counts[int(c)-int('a')]++
}
for _, c := range ransomNote {
if c < 'a' || c > 'z' {
continue
}
offset := int(c) - int('a')
counts[offset]--
if counts[offset] < 0 {
return false
}
}
return true
}
var _ = canConstruct