读入整数列表后直接用 min 得到最小值。
OJ: luogu
题目 ID: P5718
难度:入门
标签:python入门枚举输入输出
日期: 2026-07-15 18:17
题意
给出 n 个整数,输出其中的最小值。
思路
Python 内置 min 可以直接求可迭代对象中的最小值。读入第二行整数列表后,输出 min(numbers) 即可。
brute.py 不适合这题,因为内置最小值函数就是完整解法;若手写循环,本质也只是逐个比较。
Python 知识
n = int(input())读取个数;本题代码不必使用n,因为输入保证第二行给出对应数量。list(map(int, input().split()))读取整数列表。min(numbers)返回列表中的最小值。
对应的本地 Python 笔记:
/home/rainboy/mycode/hugo-blog/content/program_language/python/input_output_and_strings.md:整数列表输入。/home/rainboy/mycode/hugo-blog/content/program_language/python/math_tools.md:最值维护思想。/home/rainboy/mycode/hugo-blog/content/program_language/python/oj_input_output_cheatsheet.md:一行整数数组输入。
代码
python
n = int(input())
numbers = list(map(int, input().split()))
print(min(numbers), end="")cpp
/**
* Author by Rainboy blog: https://rainboylv.com github: https://github.com/rainboylvx
* rbook: -> https://rbook.roj.ac.cn https://rbook2.roj.ac.cn
* rainboy的学习导航网站: https://idx.roj.ac.cn
* create_at: 2026-07-27 00:00
* update_at: 2026-07-27 00:00
*/
#include <bits/stdc++.h>
using namespace std;
int main() {
int n; // 整数的个数
cin >> n;
int a[1005]; // 存储 n 个整数
for (int i = 0; i < n; i++) {
cin >> a[i];
}
// 遍历数组找最小值
int min_val = a[0];
for (int i = 1; i < n; i++) {
if (a[i] < min_val) {
min_val = a[i];
}
}
cout << min_val << endl;
return 0;
}Pythonic 写法
min:
python
input()
print(min(map(int, input().split())))复杂度
min 会检查所有 n 个数,时间复杂度
总结
Python 中求最小值优先想到 min。当题目数据很小,先写清楚输入列表和 min(numbers),比手写循环更适合入门学习。