跳到正文
信奥逐课

第 084 课

数组最大值

🟢 入门 约 5 分钟

一句话理解

数组最大值:先拿一个候选,再和每个元素比。

为什么要学

统计类题目的基本功。

讲解

把 ans 初始化成 a[1](或 a[0]),不要初始化成 0——可能全是负数。

然后 if (a[i] > ans) ans = a[i];。也可以用 max(ans, a[i])

同时记下最大值的位置时,注意“相等要不要更新”。题目若要最左边,相等就不更新。

例子

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

输出:

9

从 3 出发,被 9 更新,后面 2 和 9 都不更大,最大值 9。

常见错误

练习 做完再看下一课

求最大值时,把答案初值设成 0 永远正确。

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

Ctrl / ⌘ + Enter 运行 · Tab 缩进

输出
 

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

左右方向键也可翻课