【发布时间】:2016-01-01 22:08:24
【问题描述】:
我在 Codeacademy 练习,我必须做以下函数:
定义一个名为 anti_vowel 的函数,它将一个字符串文本作为输入并返回删除所有元音的文本
这是我的解决方案。
def anti_vowel(text):
md = ""
for ch in text:
if ch not in "aeiouAEIOU":
md = md + ch
return md
它运作良好,但我想知道这个功能的复杂性是什么。
我认为是 O(nk) 其中 n:="length of text" 和 k:="length of "aeoiuAEIOU""。
我取一个文本元素并将其与所有元音进行比较,这需要 O( k) 时间。但是我重复了 n 次,所以我在O(nk) 中完成了所有操作。我的分析正确吗?我怎样才能改善我的功能?可以是线性的吗?
【问题讨论】:
-
请注意,您的缩进不正确,如图所示。我认为你的实际代码是正确的。
标签: python algorithm performance