假设我有一个名为str
的非常长的字符串,我正在寻找"hello"
的第一个实例。现在我们可以说每个标记用空格分隔,但在更复杂的情况下它不会,因此使用split而不是StringTokenizer。
现在,我们还要说"hello"
只是String中的第三个单词。是以下算法O(n)
还是O(1)
?
for (String word : str.split(" ") )
if ( word.equals("hello") ) return;
答案 0 :(得分:3)
如果你的数组中有多少个令牌并不重要,那将是O(1)
,这是不正确的。它是O(n)
。