算法的时间复杂度问题:图中的5n/3-2是怎么算出来的

图片说明

题目中给的这个算法有点像是线段树中的搜索,应该是寻找A数组在 lo 到 hi 范围内的最大值吧。
这种问题的复杂度计算其实是一个数学问题:
图片说明
我就写了一下5n/3-2是怎么来的,如果要严谨的推导的话还需要一些步骤,就不详述了。

首先要理解前面的<=,它可不是一个“箭头”,而是小于等于,也就是说,5n/3-2是算法最不利的情况下的耗时。
因为你没有给出trivial的实现和完整的题目上下文,所以不好具体得到5n/3-2怎么来的,但是你可以按照这个思路去自己分析。