Input: patterns =["a","abc","bc","d"], word ="abc"Output: 3Explanation:
-"a" appears as a substring in"_a_ bc".-"abc" appears as a substring in"_abc_ ".-"bc" appears as a substring in"a _bc_ ".-"d" does not appear as a substring in"abc".3 of the strings in patterns appear as a substring in word.
Input: patterns =["a","b","c"], word ="aaaaabbbbb"Output: 2Explanation:
-"a" appears as a substring in"a _a_ aaabbbbb".-"b" appears as a substring in"aaaaabbbb _b_ ".-"c" does not appear as a substring in"aaaaabbbbb".2 of the strings in patterns appear as a substring in word.
For each pattern, check if it appears as a substring in the given word. This is a direct application of the substring operation and is efficient given the constraints.
classSolution {
publicintnumOfStrings(String[] patterns, String word) {
int ans = 0;
for (String p : patterns) {
if (word.contains(p)) ans++;
}
return ans;
}
}
1
2
3
4
5
6
7
8
9
classSolution {
funnumOfStrings(patterns: Array<String>, word: String): Int {
var ans = 0for (p in patterns) {
if (word.contains(p)) ans++ }
return ans
}
}
1
2
3
4
5
6
7
classSolution:
defnumOfStrings(self, patterns: list[str], word: str) -> int:
ans =0for p in patterns:
if p in word:
ans +=1return ans
⏰ Time complexity: O(n * m * w), where n is the number of patterns, m is the average length of a pattern, and w is the length of word. Each substring check is up to O(m * w).
🧺 Space complexity: O(1), as we use only a constant amount of extra space.