Leetcode - Find Words That Can Be Formed by Characters
https://leetcode.com/problems/find-words-that-can-be-formed-by-characters/
You are given an array of strings words
and a string chars
.
A string is good if it can be formed by characters from chars
(each character can only be used once).
Return the sum of lengths of all good strings in words
.
Example 1:
Input: words = ["cat","bt","hat","tree"], chars = "atach" Output: 6 Explanation: The strings that can be formed are "cat" and "hat" so the answer is 3 + 3 = 6.
Example 2:
Input: words = ["hello","world","leetcode"], chars = "welldonehoneyr" Output: 10 Explanation: The strings that can be formed are "hello" and "world" so the answer is 5 + 5 = 10.
func countCharacters(words []string, chars string) int { charCount := getCount(chars) result := 0 for _, w := range words { wCount := getCount(w) found := true for i := 0; i < 26; i++ { if wCount[i] > charCount[i] { found = false break } } if found { result += len(w) } } return result } func getCount(w string) []int { count := make([]int, 26) for i := 0; i < len(w); i++ { count[w[i]- 'a']++ } return count }