1786 Count The Number Of Consistent Strings
1786 Count The Number Of Consistent Strings
Count the Number of Consistent Strings 
You are given a string allowed consisting of distinct characters and an array of strings words. A string is **consistent **if all characters in the string appear in the string allowed.
Return* the number of consistent strings in the array *words.
Example 1:
1
2
3
4
5
**Input:** allowed = "ab", words = ["ad","bd","aaab","baa","badab"]
**Output:** 2
**Explanation:** Strings "aaab" and "baa" are consistent since they only contain characters 'a' and 'b'.
Example 2:
1
2
3
4
5
**Input:** allowed = "abc", words = ["a","b","c","ab","ac","bc","abc"]
**Output:** 7
**Explanation:** All strings are consistent.
Example 3:
1
2
3
4
5
**Input:** allowed = "cad", words = ["cc","acd","b","ba","bac","bad","ac","d"]
**Output:** 4
**Explanation:** Strings "cc", "acd", "ac", and "d" are consistent.
Constraints:
1
2
3
4
5
1 <= words.length <= 104
1 <= allowed.length <= 26
1 <= words[i].length <= 10
The characters in allowed are **distinct**.
words[i] and allowed contain only lowercase English letters.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
int countConsistentStrings(char * allowed, char ** words, int wordsSize){
int result = 0;
for (int i = 0 ; i < wordsSize; i ++) {
char * word = words[i];
int k = 0;
bool matched = true;
while(word[k] != '\0') {
int j = 0;
bool local_matched = false;
while(allowed[j] != '\0'){
if (word[k] == allowed[j]) {
local_matched = true;
break;
}
j ++ ;
}
if (! local_matched) {
matched = false;
break;
}
k ++ ;
}
if (matched) {
result ++ ;
}
}
return result;
}
This post is licensed under CC BY 4.0 by the author.