boolean isUnique(String s){
char [] temp = s.toCharArray();
for(int i = 0; i < temp.length; i++){
for(int j = i+1; j < temp.length; j++){
if(temp[i] == temp[j]){
return false;
}
}
}
return true;
}
这只是为了检查字符串中的所有字符是否唯一。 我从其他例子中学习到,内循环通常是O(n^2),但在这种情况下,内循环并不从索引0开始。它从下一个元素开始,无论temp[i]
是什么。所以我有点困惑如何确定时间复杂度。如何计算此实现的时间复杂度
内循环将在最坏的情况下运行时间如下: 第(n-1)+(N-2)+(N-3)....... +(1)其中n是字符串的长度。所以当你总结这个序列。最高的顺序是n^2。所以最坏的时间复杂度变成了O(n^2)。 – sinsuren