下面的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);}