-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
1fde7b3
commit c370860
Showing
4 changed files
with
173 additions
and
61 deletions.
There are no files selected for viewing
52 changes: 52 additions & 0 deletions
52
08_String/Problems/Easy/1684_Count_the_Number_of_Consistent_Strings.cpp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
/* | ||
1684. 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: | ||
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: | ||
Input: allowed = "abc", words = ["a","b","c","ab","ac","bc","abc"] | ||
Output: 7 | ||
Explanation: All strings are consistent. | ||
Example 3: | ||
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 <= 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. | ||
*/ | ||
class Solution { | ||
public: | ||
int countConsistentStrings(string& allowed, vector<string>& words) { | ||
bitset<26> ASet=0; | ||
for(char c: allowed) | ||
ASet[c-'a']=1; | ||
int cnt=0; | ||
for(string& w: words){ | ||
bool consistent=1; | ||
for(char c: w){ | ||
if (ASet[c-'a']==0){ | ||
consistent=0; | ||
break; | ||
} | ||
} | ||
cnt+=consistent; | ||
} | ||
return cnt; | ||
} | ||
}; | ||
|
||
|
||
|
||
auto init = []() { | ||
ios::sync_with_stdio(false); | ||
cin.tie(nullptr); | ||
cout.tie(nullptr); | ||
return 'c'; | ||
}(); |
52 changes: 52 additions & 0 deletions
52
09_Bit_Manipulation/Easy/1684_Count_the_Number_of_Consistent_Strings.cpp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
/* | ||
1684. 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: | ||
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: | ||
Input: allowed = "abc", words = ["a","b","c","ab","ac","bc","abc"] | ||
Output: 7 | ||
Explanation: All strings are consistent. | ||
Example 3: | ||
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 <= 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. | ||
*/ | ||
class Solution { | ||
public: | ||
int countConsistentStrings(string& allowed, vector<string>& words) { | ||
bitset<26> ASet=0; | ||
for(char c: allowed) | ||
ASet[c-'a']=1; | ||
int cnt=0; | ||
for(string& w: words){ | ||
bool consistent=1; | ||
for(char c: w){ | ||
if (ASet[c-'a']==0){ | ||
consistent=0; | ||
break; | ||
} | ||
} | ||
cnt+=consistent; | ||
} | ||
return cnt; | ||
} | ||
}; | ||
|
||
|
||
|
||
auto init = []() { | ||
ios::sync_with_stdio(false); | ||
cin.tie(nullptr); | ||
cout.tie(nullptr); | ||
return 'c'; | ||
}(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
52 changes: 52 additions & 0 deletions
52
Leet Code Problems/Easy/1684_Count_the_Number_of_Consistent_Strings.cpp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
/* | ||
1684. 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: | ||
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: | ||
Input: allowed = "abc", words = ["a","b","c","ab","ac","bc","abc"] | ||
Output: 7 | ||
Explanation: All strings are consistent. | ||
Example 3: | ||
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 <= 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. | ||
*/ | ||
class Solution { | ||
public: | ||
int countConsistentStrings(string& allowed, vector<string>& words) { | ||
bitset<26> ASet=0; | ||
for(char c: allowed) | ||
ASet[c-'a']=1; | ||
int cnt=0; | ||
for(string& w: words){ | ||
bool consistent=1; | ||
for(char c: w){ | ||
if (ASet[c-'a']==0){ | ||
consistent=0; | ||
break; | ||
} | ||
} | ||
cnt+=consistent; | ||
} | ||
return cnt; | ||
} | ||
}; | ||
|
||
|
||
|
||
auto init = []() { | ||
ios::sync_with_stdio(false); | ||
cin.tie(nullptr); | ||
cout.tie(nullptr); | ||
return 'c'; | ||
}(); |