判断字符串是否存在连续子串'algorithm' - Python实现
判断字符串是否存在连续子串'algorithm' - Python实现
本篇文章将讲解如何判断一个字符串中是否存在连续子串'algorithm',并提供高效的Python代码示例。
问题描述
给定一个全由小写字母构成的字符串,判断该字符串中是否存在连续子串'algorithm'。
输入格式
- 第一行:一个整数N (1 ≤ N ≤ 10⁶) ,表示字符串的长度。
- 第二行:一个长度为N的字符串S,保证S仅由小写字母构成。
输出格式
- 共一行:如果S内存在连续子串'algorithm',则输出'YES';否则,输出'NO'
Python代码示例
def has_substring(s):
target = 'algorithm'
n = len(s)
m = len(target)
i = 0
while i <= n - m:
j = 0
while j < m and s[i+j] == target[j]:
j += 1
if j == m:
return 'YES'
i += 1
return 'NO'
# 读取输入
N = int(input())
S = input()
# 判断是否存在连续子串
result = has_substring(S)
print(result)
代码解释
has_substring(s)函数:- 接受一个字符串
s作为输入。 - 使用两个指针
i和j分别遍历字符串s和目标子串 'algorithm'。 - 如果找到匹配的子串,则返回 'YES',否则返回 'NO'。
- 接受一个字符串
- 主程序:
- 读取输入的字符串长度
N和字符串S。 - 调用
has_substring(S)函数判断是否存在子串 'algorithm'。 - 打印结果。
- 读取输入的字符串长度
总结
本文介绍了如何判断字符串中是否存在连续子串'algorithm',并提供了Python代码示例。该代码采用了双指针的遍历方法,具有较高的效率。您可以根据实际需求对代码进行修改和优化。
原文地址: https://www.cveoy.top/t/topic/bknY 著作权归作者所有。请勿转载和采集!