代码:
package com.niuke;
/**
* 旋转数组找最小值延伸:【旋转数组寻找最大值】
*
*/
public class A04_ReverseArrayMax {
public static void main(String[] args) {
//以向左旋转为例,类型分为:1.递增型小于半数旋转的旋转数组;2.多于半数旋转的递增数组;3.递减数组小于半数旋转的;4.递减数组多于半数旋转的;以下依次是4种类型旋转数组
//规则:中间的数mid与两端的数做差。如果两端的小,差值绝对值大的,最小值就在那一侧;并且还有一个规律,就是两端会同时比中间大,或者同时比中间小。
int[] arr = {
8,10,11,14,17,18,23,2,5};
int[] arr0 = {
17,18,19,26,3,5,8,10,11,14,15};
int[] arr1 = {
14,11,10,8,6