T1184:Python与Java实现找出一组数中第二大的数,附代码及复杂度分析
以下是针对找出一组数中第二大的数这个问题的分析与代码实现,这里使用Python和Java两种语言来解决。 问题分析 要找出一组数中第二大的数,可先对这组数进行遍历,在遍历过程中记录最大数和第二大的数。 Python代码实现 ```python # 从输入读取一行数据,并将其按空格分割成字符串列表 nums = list(map(int, input().split())) # 初始化最大数和第二大的数为负无穷 first_max = float('-inf') second_max = float('-inf') # 遍历列表中的每个数 for num in nums: if num > first_max: # 如果当前数大于最大数,更新最大数和第二大的数 second_max = first_max first_max = num elif num > second_max and num != first_max: # 如果当前数大于第二大的数且不等于最大数,更新第二大的数 second_max = num # 输出第二大的数 print(second_max) ``` Java代码实现 ```java import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // 读取一行输入 String[] input = scanner.nextLine().split(" "); // 初始化最大数和第二大的数为负无穷 int firstMax = Integer.MIN_VALUE; int secondMax = Integer.MIN_VALUE; // 遍历输入的每个数 for (String numStr : input) { int num = Integer.parseInt(numStr); if (num > firstMax) { // 如果当前数大于最大数,更新最大数和第二大的数 secondMax = firstMax; firstMax = num; } else if (num > secondMax && num != firstMax) { // 如果当前数大于第二大的数且不等于最大数,更新第二大的数 secondMax = num; } } // 输出第二大的数 System.out.println(secondMax); scanner.close(); } } ``` 复杂度分析 - 时间复杂度:$O(n)$,其中 $n$ 是输入数的个数,因为只需要对输入的数进行一次遍历。 - 空间复杂度:$O(1)$,只使用了常数级的额外空间。 输入输出示例 - 输入:`1 2 3 4 5` - 输出:`4` 以上代码可以处理输入的一组整数,并找出其中第二大的数。 ######[AI问答 | 603点数解答 | 2025-08-02 09:20:13]
- Java 实现复制粘贴功能:打造简易文本复制粘贴程序(GPT | 1497点数解答 | 2024-08-25 09:40:33)419
- Python 运行报错:urllib3 网络连接创建失败,原因及排查建议(字节豆包 | 161点数解答 | 2024-10-31 00:39:36)478
- Python 实战:学生信息列表转字典、遍历、深拷贝及数据修改全流程(GPT | 422点数解答 | 2024-10-29 15:43:54)432
- Python实战:学生成绩列表转字典,深拷贝与数据修改操作全解析(字节豆包 | 254点数解答 | 2024-10-29 16:01:39)426
- 解决数据库“dm.jdbc.driver.dmexception: 数据溢出”问题的全步骤指南(阿里通义 | 598点数解答 | 2024-10-15 15:48:38)322
- 达梦数据库数据溢出问题排查及多维度解决方法(阿里通义 | 403点数解答 | 2024-10-15 15:48:41)1195
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)362
- C语言:实现查找n个字符串中次大字符串的函数(附代码及注意点)(字节豆包 | 295点数解答 | 2024-12-02 22:59:41)176
- C++求解序列或与运算和差值:避O(nq)复杂度及数据处理要点(字节豆包 | 534点数解答 | 2025-10-17 20:05:07)67
- Java调用Python接口中文乱码?设置UTF - 8编码一招解决!(讯飞星火 | 263点数解答 | 2024-06-06 17:07:59)406
- 解决Java调用Python接口中文乱码问题:设置UTF - 8编码全攻略(讯飞星火 | 160点数解答 | 2024-06-06 17:18:39)429
- Java调用Python接口中文乱码问题:字符编码统一解决方案(讯飞星火 | 344点数解答 | 2024-06-06 17:19:55)542