✏️ 纠错
第 186 题 / 共 251 题
第10题 下面的C++代码,用于求一系列数据中的最大值。有关其算法说法错误的是( )。
int find_max(const vector<int>& nums) {
if (nums.empty()) {
throw invalid_argument("输入数组不能为空");
}
int max_value = nums[0];
for (int num : nums) {
if (num > max_value) {
max_value = num;
}
}
return max_value;
}你真棒!
📝 题目解析
答案:D
知识点:迭代算法的概念,时间复杂度分析,与递归算法的比较
解析:A正确,该算法用循环迭代实现;B正确,需遍历所有元素,复杂度O(n);C正确,递归会产生栈开销,迭代不会;D错误,上一题的分治算法时间复杂度是O(logn),因此两者时间复杂度不同,D说法错误。