对于[1, 2, 4, 6, 8, 7, 5]这样的数组,我们如何有效地找到其中的最大数?我们知道,数组的第一部分是1, 2, 4, 6,,它是升序排序的,而第二部分是8, 7, 5,它是降序排序的数组。
[1, 2, 4, 6, 8, 7, 5]
1, 2, 4, 6,
8, 7, 5
简单的解决方案是遍历数组,但是鉴于该数组是由两个排序的数组组成的,我想可以通过某种二进制搜索变量来完成搜索,以实现o(logn)运行时复杂性。但是我似乎无法提出解决方案。
o(logn)
您要的是等同于找到数组的“峰值”。 Here is logarithmic time解决问题的方法