Skip to content

Commit 77bace7

Browse files
committed
feat: update solutions to lc problem: No.1967
No.1967.Number of Strings That Appear as Substrings in Word
1 parent 401e997 commit 77bace7

File tree

7 files changed

+78
-73
lines changed

7 files changed

+78
-73
lines changed

solution/1900-1999/1967.Number of Strings That Appear as Substrings in Word/README.md

Lines changed: 35 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,14 @@ patterns 中有 2 个字符串作为子字符串出现在 word 中。
6060

6161
<!-- 这里可写通用的实现逻辑 -->
6262

63+
**方法一:模拟**
64+
65+
遍历字符串数组 $patterns$ 中的每个字符串 $p$,判断其是否为 $word$ 的子字符串,如果是,答案加一。
66+
67+
遍历结束后,返回答案。
68+
69+
时间复杂度 $O(n \times m)$,空间复杂度 $O(1)$。其中 $n$ 和 $m$ 分别为 $patterns$ 和 $word$ 的长度。
70+
6371
<!-- tabs:start -->
6472

6573
### **Python3**
@@ -69,7 +77,7 @@ patterns 中有 2 个字符串作为子字符串出现在 word 中。
6977
```python
7078
class Solution:
7179
def numOfStrings(self, patterns: List[str], word: str) -> int:
72-
return sum(1 for p in patterns if p in word)
80+
return sum(p in word for p in patterns)
7381
```
7482

7583
### **Java**
@@ -79,57 +87,56 @@ class Solution:
7987
```java
8088
class Solution {
8189
public int numOfStrings(String[] patterns, String word) {
82-
int res = 0;
90+
int ans = 0;
8391
for (String p : patterns) {
8492
if (word.contains(p)) {
85-
++res;
93+
++ans;
8694
}
8795
}
88-
return res;
96+
return ans;
8997
}
9098
}
9199
```
92100

93-
### **TypeScript**
94-
95-
```ts
96-
function numOfStrings(patterns: string[], word: string): number {
97-
let ans = 0;
98-
for (let pattern of patterns) {
99-
if (word.includes(pattern)) {
100-
ans++;
101-
}
102-
}
103-
return ans;
104-
}
105-
```
106-
107101
### **C++**
108102

109103
```cpp
110104
class Solution {
111105
public:
112106
int numOfStrings(vector<string>& patterns, string word) {
113-
int res = 0;
114-
for (auto p : patterns)
115-
if (word.find(p) != string::npos)
116-
++res;
117-
return res;
107+
int ans = 0;
108+
for (auto& p : patterns) {
109+
ans += word.find(p) != string::npos;
110+
}
111+
return ans;
118112
}
119113
};
120114
```
121115
122116
### **Go**
123117
124118
```go
125-
func numOfStrings(patterns []string, word string) int {
126-
res := 0
127-
for _, p := range patterns {
119+
func numOfStrings(patterns []string, word string) (ans int) {
120+
for _, p := range patterns {
128121
if strings.Contains(word, p) {
129-
res++
122+
ans++
130123
}
131124
}
132-
return res
125+
return
126+
}
127+
```
128+
129+
### **TypeScript**
130+
131+
```ts
132+
function numOfStrings(patterns: string[], word: string): number {
133+
let ans = 0;
134+
for (const p of patterns) {
135+
if (word.includes(p)) {
136+
++ans;
137+
}
138+
}
139+
return ans;
133140
}
134141
```
135142

solution/1900-1999/1967.Number of Strings That Appear as Substrings in Word/README_EN.md

Lines changed: 27 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -61,65 +61,64 @@
6161
```python
6262
class Solution:
6363
def numOfStrings(self, patterns: List[str], word: str) -> int:
64-
return sum(1 for p in patterns if p in word)
64+
return sum(p in word for p in patterns)
6565
```
6666

6767
### **Java**
6868

6969
```java
7070
class Solution {
7171
public int numOfStrings(String[] patterns, String word) {
72-
int res = 0;
72+
int ans = 0;
7373
for (String p : patterns) {
7474
if (word.contains(p)) {
75-
++res;
75+
++ans;
7676
}
7777
}
78-
return res;
78+
return ans;
7979
}
8080
}
8181
```
8282

83-
### **TypeScript**
84-
85-
```ts
86-
function numOfStrings(patterns: string[], word: string): number {
87-
let ans = 0;
88-
for (let pattern of patterns) {
89-
if (word.includes(pattern)) {
90-
ans++;
91-
}
92-
}
93-
return ans;
94-
}
95-
```
96-
9783
### **C++**
9884

9985
```cpp
10086
class Solution {
10187
public:
10288
int numOfStrings(vector<string>& patterns, string word) {
103-
int res = 0;
104-
for (auto p : patterns)
105-
if (word.find(p) != string::npos)
106-
++res;
107-
return res;
89+
int ans = 0;
90+
for (auto& p : patterns) {
91+
ans += word.find(p) != string::npos;
92+
}
93+
return ans;
10894
}
10995
};
11096
```
11197
11298
### **Go**
11399
114100
```go
115-
func numOfStrings(patterns []string, word string) int {
116-
res := 0
117-
for _, p := range patterns {
101+
func numOfStrings(patterns []string, word string) (ans int) {
102+
for _, p := range patterns {
118103
if strings.Contains(word, p) {
119-
res++
104+
ans++
120105
}
121106
}
122-
return res
107+
return
108+
}
109+
```
110+
111+
### **TypeScript**
112+
113+
```ts
114+
function numOfStrings(patterns: string[], word: string): number {
115+
let ans = 0;
116+
for (const p of patterns) {
117+
if (word.includes(p)) {
118+
++ans;
119+
}
120+
}
121+
return ans;
123122
}
124123
```
125124

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
class Solution {
22
public:
33
int numOfStrings(vector<string>& patterns, string word) {
4-
int res = 0;
5-
for (auto p : patterns)
6-
if (word.find(p) != string::npos)
7-
++res;
8-
return res;
4+
int ans = 0;
5+
for (auto& p : patterns) {
6+
ans += word.find(p) != string::npos;
7+
}
8+
return ans;
99
}
1010
};
Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
func numOfStrings(patterns []string, word string) int {
2-
res := 0
3-
for _, p := range patterns {
1+
func numOfStrings(patterns []string, word string) (ans int) {
2+
for _, p := range patterns {
43
if strings.Contains(word, p) {
5-
res++
4+
ans++
65
}
76
}
8-
return res
7+
return
98
}
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
class Solution {
22
public int numOfStrings(String[] patterns, String word) {
3-
int res = 0;
3+
int ans = 0;
44
for (String p : patterns) {
55
if (word.contains(p)) {
6-
++res;
6+
++ans;
77
}
88
}
9-
return res;
9+
return ans;
1010
}
1111
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
class Solution:
22
def numOfStrings(self, patterns: List[str], word: str) -> int:
3-
return sum(1 for p in patterns if p in word)
3+
return sum(p in word for p in patterns)

solution/1900-1999/1967.Number of Strings That Appear as Substrings in Word/Solution.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
function numOfStrings(patterns: string[], word: string): number {
22
let ans = 0;
3-
for (let pattern of patterns) {
4-
if (word.includes(pattern)) {
5-
ans++;
3+
for (const p of patterns) {
4+
if (word.includes(p)) {
5+
++ans;
66
}
77
}
88
return ans;

0 commit comments

Comments
 (0)