Leetcode 875吃香蕉的时间复杂度
请问bobo老师,这个问题的时间复杂度应如何分析?在主函数中的二分搜索中,假设piles数组的最大值是M,那么我的理解时间复杂度是O(logM),因为搜索空间是[1, M]。但是在eatingTime的函数中, 还要遍历数组piles,假设数组长度是n,那么时间复杂度是O(n)。所以,可不可以说,这个题目的时间复杂度是O(logM + n)呢?同时空间复杂度是O(1).
8
收起
正在回答 回答被采纳积分+1
1回答
liuyubobobo
2022-03-15 02:51:01
时间复杂度是 O(nlogM)。
每次二分搜索查到一个值,到要进行一遍 O(n) 的运算,O(n) 的这个运算不是仅仅运行一次,而是运行了 logM 次。所以是 O(nlogM)。
继续加油!:)
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星