这是一个接受两个输入字符串的简单函数。如果第二个字符串是第一个字符串的变位词,则返回 True。
def validAnagram(str1, str2):
if len(str1) != len(str2):
return False
str1_arr = [char for char in str1]
str2_arr = [char for char in str2]
for char in str1_arr:
if char in str2_arr:
str2_arr.remove(char)
else:
return False
return True
我正在学习计算我编写的程序的大 O。这个函数的运行时间是 O(N 2 ) 还是 O(N 3 )?
我假设它的 O(N 3 ),因为“if”条件也运行 O(N)。所以它的 3 个嵌套 O(N) 操作,导致 O(N 3 ) 运行时。如果我错了,请纠正我。