可能重复:
Big O的简单英文解释
我现在已经做了4年的编程,但我从未关注过时间复杂性.我明天接受采访,我知道他们会问我关于它的问题.任何人都可以通过简单的方式帮助我理解时间复杂性吗?通过查看代码,我们如何判断它的复杂性是O(n)还是O( log n)O(n)等?
我看到一个面试问题如下:给出一个未排序的整数数组A和一个整数I,找出A的任何两个成员是否加起来我.
任何线索?
时间复杂度应该更少
我看到一个面试问题如下:
数组中的一个数字是重复的.找到它
简单的解决方案如下:
for(int i=0;i<n;i++){
{
dup = false;
for(j=0;j<n;j++){
if(i!=j && a[i]= a[j]){
dup = true;
}
if(dup == true)
return a[i]
}
}
Run Code Online (Sandbox Code Playgroud)
但我想在O(n log(n))和O(n)时间内实现它.我该怎么做?