B3 時間複雜度並不一定只討論最糟情況,例如 quicksort 的平均複雜度是 O(nlogn),而最糟複雜度卻是O(n^2)(考慮到每次 pivot 都選到最小或是最大的情況,不過顯然這機率太低了,期望值算起來是 O(nlogn))。
以這一題而言,當 i 從 0 ~ n - 2 的時候都不會做事,總共執行 n - 1 次,也就是 O(n)。
然後當 i 是 n - 1 時,會再執行 n + 1 次(k 從 n 到 0),也就是 O(n)。
因此總共無論 n 是多少,固定執行 O(n) + O(n) 次,因此 best case、worst case 和平均複雜度都是 O(n)。