1. 程式人生 > >二分求最大值

二分求最大值

[] == 最大值 str lse 如果 2個 個數 urn

#include<iostream>
using namespace std;
int getMax(int array[], int begin, int end){
    int Max1 = 0;
    int Max2 = 0;
    if (begin == end) {//劃分到最後,剩余1個數
        return array[begin] = array[end];
    }
    else if(begin+1==end){//劃分到最後,剩余2個數
        return array[begin]> array[end]?array[begin]: array[end];//誰大返回誰。
    }
    else{//如果剩余的數多於2個,劃分成兩段,選出這兩段的最大值
        int mid=(begin+end)/2;
        Max1=getMax(array,begin,mid);
        Max2=getMax(array,mid+1,end);
        return Max1>Max2?Max1:Max2;
    }
};

二分求最大值