最值查找

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)
posted @ 2026-04-08 13:17  Sherry_pro  阅读(2)  评论(0)    收藏  举报