383.ransom-note.go 299 B

1234567891011121314151617
  1. func canConstruct(ransomNote string, magazine string) bool {
  2. m, n := len(ransomNote), len(magazine)
  3. if n < m {
  4. return false
  5. }
  6. cnt := make([]int, 256)
  7. for _, r := range magazine {
  8. cnt[r]++
  9. }
  10. for _, r := range ransomNote {
  11. cnt[r]--
  12. if cnt[r] < 0 {
  13. return false
  14. }
  15. }
  16. return true
  17. }