# ❓ 实现一个字符串匹配算法,从长度为 n 的字符串 S 中,查找是否存在字符串 T,T 的长度是 m,若存在返回所在位置。
let arr1 = ''
for (let i = 0; i < 3; i++) {
arr1 += Math.floor(Math.random() * 10)
}
let arr2 = ''
for (let i = 0; i < 20; i++) {
arr2 += Math.floor(Math.random() * 10)
}
function find(arr1, arr2) {
let res = -1,
i = 0
if (arr1.length > arr2.length) return -1
while (i < arr2.length - arr1.length) {
if (arr2.substr(i, arr1.length) === arr1) return i
i++
}
return res
}
console.log(arr1)
console.log(arr2)
console.log(find(arr1, arr2))
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28