跳到正文
信奥逐课

第 085 课

数组最小值

🟢 入门 约 5 分钟

一句话理解

求最小值和求最大值对称:遇到更小的就更新。

为什么要学

同一套遍历模板。

讲解

初始化成第一个元素,或初始化成一个很大的数(1e9 或 LLONG_MAX)。

if (a[i] < ans) ans = a[i];

若还要下标,相等时想清楚取左还是取右。

例子

int a[5] = {0, 4, 1, 7, 1};
int ans = a[1];
for (int i = 2; i <= 4; i++)
    if (a[i] < ans) ans = a[i];
cout << ans;

输出:

1

4 被 1 替换,后面 7 更大,最后的 1 不更小,最小值 1。

常见错误

练习 做完再看下一课

求最小值,初始化成 0,数组是 2 3 4,结果会?

在线练习 C++ 在浏览器里编译,代码不会上传

Ctrl / ⌘ + Enter 运行 · Tab 缩进

输出
 

进度保存在本机浏览器里。

左右方向键也可翻课