如何在由升序排列的数组和降序排列的数组组成的数组中找到最大的数字

问题描述 投票:0回答:1

对于[1, 2, 4, 6, 8, 7, 5]这样的数组,我们如何有效地找到其中的最大数?我们知道,数组的第一部分是1, 2, 4, 6,,它是升序排序的,而第二部分是8, 7, 5,它是降序排序的数组。

简单的解决方案是遍历数组,但是鉴于该数组是由两个排序的数组组成的,我想可以通过某种二进制搜索变量来完成搜索,以实现o(logn)运行时复杂性。但是我似乎无法提出解决方案。

algorithm binary-search
1个回答
1
投票

您要的是等同于找到数组的“峰值”。 Here is logarithmic time解决问题的方法

© www.soinside.com 2019 - 2024. All rights reserved.