我有以下代码检查字符串s
是否包含特定单词的前两个字母(以小写和任意顺序):
def check_letters(input_string):
word = 'Hello' # 1
array_size = len(input_string) # 1
for i in range (0, array_size): # n
if input_string[i].lower()==word[0].lower(): # n
for j in range (0, array_size): # n^2
if input_string[j].lower()==word[1].lower(): # n^2
return True # 1
return False # 1
我已经注释掉了每行的复杂度,并且由于嵌套的for循环的复杂度为O(N ^ 2),因此我的函数的最坏情况似乎是O(N ^ 2)。每行的复杂度是否正确?最坏情况下的复杂度是否为O(N ^ 2)?另外,输入大小是否只是字符串的长度?