Java 二分法查找最值问题。

例如数组 A= [ 5 , 6 , 7 , 1 , 2 , 3 , 4 ]我认为这是个比较特殊的数组,不用排序的方法,用二分法找到该数组的最大值或者最小值。

将这数组插入到二分搜索树中,直接get到最大值,如何写二分搜索树请看http://blog.csdn.net/qq_33535433/article/details/75264007

"不用排序的方法,用二分法找到该数组的最大值或者最小值。"

【首先】这不是一个特殊的数组
【其次】二分查找有个前,有序数组才能二分查找,,,无序的咋二分???

【无序数组如何二分?】答案是不能的,,至少本人未曾见过

嗯...的确 二分法的前提就是得是一个有序数组 你这样不如直接遍历 找最小最大值

我也是服了,你没见过就是没有?二分查找必须是有序的?你在说笑话吗?
这个题是可以的。
这种题类似于旋转数组这种类型,当你二分第一次的时候可以判断出数组的一段是有序的。既然知道了一段是有序的就看你想怎么继续做了。
不过这种题用二分局限性比较大。
顺便问一嘴,搞acm的吗?

快排里有个二分快排,就是取中间数,再以中间数的大小编排两边。
但是避免不了排序,但我们可以找最大数的时候,只递归右边,找最小数的时候只递归左边。
但其实这样还是排序。