单选题

下面的C++代码,用于求一系列数据中的最大值。有关其算法说法错误的是(    )。

int find max recursive(const vector<int>& nums, int left, int right){
    if(left == right)
        return nums[left];

    int mid=left+(right-left)/2;
    int left_max=find max recursive(nums, left, mid);
    int right_max=find_max_recursive(nums, mid + 1, right);

    return max(left_max,right_max);
}
int find_max(const vector<int>& nums){
    if(nums.empty()){
        throw invalid_argument("输入数组不能为空");
    }
    return find_max_recursive(nums,0,nums.size()-1);
}
A

该算法采用分治算法

B

该算法是递归实现

C

该算法采用贪心算法

D

该算法不是递推算法

赣ICP备20007335号-2