最值查找
min和max函数
-
基本用法:
min(a,b)
返回a和b中较小的值,
max(a,b)
返回较大的值
-
列表用法:可以传入列表如
min({1,2,3,4})=1
,
max({1,2,3,4})=4
-
时间复杂度:比较两个值时
O(1)
,处理列表时为O(n)(n为列表长度)
-
使用场景:是最常用的取最值操作,比后续介绍的min_element/max_element更常用
2. min_element和max_element函数
-
功能:
min_element(st,ed)
返回区间
[st,ed)
中最小值的地址(迭代器),
max_element
同理
-
参数要求:必须传入两个地址或迭代器,表示查找范围
-
返回值处理:需要通过解引用操作符*获取实际值 *max_element(a+1,a+1+m)
-
时间复杂度:O(n),n为查找范围内的元素数量
3. nth_element函数
- 功能:进行部分排序,使第k个元素处于正确排序位置
- 参数说明:三个迭代器参数(st,k,ed),k位置的元素会被正确排序
- 排序特性:保证k前元素≤k位置元素≤k后元素,但前后部分内部无序
- 时间复杂度:O(n)
4. 例题:成绩分析
-
题目解析:
- 输入n个0-100的整数分数
- 需要输出最高分、最低分和平均分(保留2位小数)
-
解题思路:
- 使用max_element和min_element查找最值
- 累加求和计算平均值
- 注意整数除法问题,需转换为浮点数运算 1.0*sum/m
-
替代方案:
- 可以手动实现最值查找:max() min()
-
易错点:
- 整数除法导致精度丢失 fixed << setprecision(2)

浙公网安备 33010602011771号