(Easy) Find Words That Can Be Formed by Characters LeetCode
作者:互联网
Description:
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.
Note:
1 <= words.length <= 1000
1 <= words[i].length, chars.length <= 100
- All strings contain lowercase English letters only
Solution:
class Solution { public int countCharacters(String[] words, String chars) { if(words==null|| chars==null||words.length==0||chars.length()==0){ return 0; } int result = 0; for(int i = 0; i<words.length; i++){ boolean flag = true; for(int j = 0; j<words[i].length();j++){ if(!check(chars,words[i].charAt(j),Count(words[i],words[i].charAt(j)))){ flag = false; } } if(flag){ result = result + words[i].length(); } } return result; } boolean check(String str, Character ch, int n){ int tmp =0; for(int i = 0; i<str.length();i++){ if(str.charAt(i)==ch){ tmp++; } } return tmp>=n? true:false; } int Count(String str, Character ch){ int res = 0; for(int i = 0; i<str.length(); i++){ if(str.charAt(i)==ch ){ res++; } } return res; } }
标签:formed,Easy,int,chars,Formed,strings,words,Find,String 来源: https://www.cnblogs.com/codingyangmao/p/11387945.html