You are viewing a single comment's thread. Return to all comments →
It seems to me that your code is O(n^2) in the worst case due to the following reasoning:
-Assume we have the worst case like [5,6,6,6,...,6]- an array consisting almost fully out of sixs.
-Then your for-loop will work n-times calling max(arr)-function, which takes O(n).
-So we can say that it's O(n^2) in the worst case, while I can provide the solution with O(n) in this case, even though it's less elegant and requires the creation of some more temporary variables to store the max and second highest value.
-Then can you still claim that your code is the most effective? Please, correct me if I'm wrong, I would really appreciate that.