Codility可以错误地检测时间复杂度吗?

时间:2016-05-18 12:35:41

标签: c++ time-complexity

所以我一直在试用Codility并最终得到这段代码:

int solution(vector<int> &A) 
{
   std::vector<int> min3(4);
   std::vector<int> max3(4);
   min3[0] = max3[2] = A[0];
   min3[1] = max3[1] = A[1];
   min3[2] = max3[0] = A[2];

   for(int i=3;i<A.size();i++)
   {
       min3[3] = max3[3] = A[i];
       std::sort(min3.begin(),min3.end());
       std::sort(max3.begin(),max3.end(),std::greater<int>());
   }

   return std::max(max3[0]*max3[1]*max3[2],max3[0]*min3[0]*min3[1]);
}

,我所看到的方式,其时间复杂度为O(N); 然而,在O(N * log(N))估计上,Codility insists。你能指出谁是正确的,为什么?非常感谢!

0 个答案:

没有答案