LeetCode-1160. Find Words That Can Be Formed by Characters

网友投稿 239 2022-08-29

LeetCode-1160. 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: 6Explanation: 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: 10Explanation: The strings that can be formed are "hello" and "world" so the answer is 5 + 5 = 10.

Note:

​​1 <= words.length <= 1000​​​​1 <= words[i].length, chars.length <= 100​​All strings contain lowercase English letters only.

题解:

go:

func countCharacters(words []string, chars string) int { n := len(chars) dic := make([]byte, 26) for i := 0; i < n; i++ { dic[chars[i] - 'a']++ } res := 0 for _, word := range words { canForm := true curDic := make([]byte, 26) copy(curDic, dic) for i := 0; i < len(word); i++ { if curDic[word[i] - 'a'] > 0 { curDic[word[i] - 'a']-- } else { canForm = false break } } if canForm == true { res += len(word) } } return res}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:华为-统计每个月兔子的数量
下一篇:完美日记的营销神话要破了吗?(完美日记的营销手段)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~