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