leetcode

Leetcode Solutions (0x6A73)
git clone https://git.pngu.org/leetcode
Log | Files | Refs | Submodules | README

commit 8704ee5ba635a64f25efe6088971568bfff6df7c
parent e202f40f8763153b4c10fbd3921402ae95e1bb87
Author: Jack Sangdahl <jack@pngu.org>
Date:   Mon, 29 Jun 2026 09:17:34 -0600

1967. number of strings that appear as substrings in word

Diffstat:
Anum_str_appear_substr_word.c | 31+++++++++++++++++++++++++++++++
Anum_str_appear_substr_word.py | 23+++++++++++++++++++++++
2 files changed, 54 insertions(+), 0 deletions(-)

diff --git a/num_str_appear_substr_word.c b/num_str_appear_substr_word.c @@ -0,0 +1,31 @@ +// 1967. Number of Strings That Appear as Substrings in Word +#include "leetcode.h" + +/* + * given an array of strings 'patterns' and a string 'word', return the number + * of strings in 'patterns' that exist as a substring in 'word'. a substring is + * a contiguous sequence of characters within a string. + */ + +int numOfStrings(char **patterns, int patternsSize, char *word) { + int ans = 0; + for (int i = 0; i < patternsSize; i++) + if (strstr(word, patterns[i])) + ans++; + return ans; +} + +int main() { + char *p1[] = {"a", "abc", "bc", "d"}, *w1 = "abc"; + char *p2[] = {"a", "b", "c"}, *w2 = "aaaaabbbbb"; + char *p3[] = {"a", "a", "a"}, *w3 = "ab"; + int r1 = numOfStrings(p1, ARRAY_SIZE(p1), w1); + int r2 = numOfStrings(p2, ARRAY_SIZE(p2), w2); + int r3 = numOfStrings(p3, ARRAY_SIZE(p3), w3); + printf("%d\n", r1); + assert(r1 == 3); + printf("%d\n", r2); + assert(r2 == 2); + printf("%d\n", r3); + assert(r3 == 3); +} diff --git a/num_str_appear_substr_word.py b/num_str_appear_substr_word.py @@ -0,0 +1,23 @@ +# 1967. Number of Strings That Appear as Substrings in Word + +""" +given an array of strings 'patterns' and a string 'word', return the number +of strings in 'patterns' that exist as a substring in 'word'. a substring is +a contiguous sequence of characters within a string. +""" + + +class Solution: + def numOfStrings(self, patterns: List[str], word: str) -> int: + ans = 0 + for i in patterns: + if i in word: + ans += 1 + return ans + + +if __name__ == "__main__": + obj = Solution() + print(obj.numOfStrings(patterns=["a", "abc", "bc", "d"], word="abc")) + print(obj.numOfStrings(patterns=["a", "b", "c"], word="aaaaabbbbb")) + print(obj.numOfStrings(patterns=["a", "a", "a"], word="ab"))