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:
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"))