这是一个关于字符串操作的问题,题目中要求判断子串sub是否存在于主串s中,如果存在,则返回子串在主串中的起始位置;如果不存在,则返回-1。同时,题目要求输入主串s和子串sub,并输出子串在主串中的起始位置以及出现的次数。
时间: 2024-02-28 12:56:36 浏览: 182
程序员面试题精选-输出一个字符串的所有子串
好的,这是一个字符串匹配的问题。我们可以使用暴力匹配算法来解决这个问题,具体步骤如下:
1. 遍历主串s,从第一个字符开始,依次取出与子串sub长度相同的子串。
2. 判断子串与sub是否相等,如果相等,则返回子串在主串中的起始位置,并将出现次数加1。
3. 如果主串遍历完了还没有匹配成功,则返回-1。
下面是一个实现暴力匹配算法的示例代码:
```python
def find_substring(s, sub):
count = 0
for i in range(len(s) - len(sub) + 1):
if s[i:i+len(sub)] == sub:
print("子串在主串中的起始位置为:", i)
count += 1
if count == 0:
print("子串在主串中不存在")
else:
print("子串在主串中出现的次数为:", count)
```
你可以将主串s和子串sub作为参数传递给这个函数,它会输出子串在主串中的起始位置以及出现的次数。
阅读全文