📅  最后修改于: 2023-12-03 15:37:15.130000             🧑  作者: Mango
这是一道关于计算机科学的算法问题。该问题描述为:
编写一个程序,在数组中找到第二大的数字。
该问题可以使用以下算法来解决:
以下是使用Python编写的该算法的示例代码片段:
arr = [1, 4, 2, 7, 5, 8, 3, 6]
max_num = second_max_num = float("-inf")
for num in arr:
if num > max_num:
max_num, second_max_num = num, max_num
elif max_num > num > second_max_num:
second_max_num = num
print("第二大数字为:", second_max_num)
该代码片段首先定义了一个包含数字的数组 arr
,以及两个变量 max_num
和 second_max_num
,它们初始化为负无穷大。
接下来,该代码段使用遍历数组的循环,实现了上述算法。一旦找到一个数字大于最大数字,该数字就会成为新的最大数字,而旧的最大数字将成为次大数字。当找到比次大数字大但比最大数字小的数字时,该数字将成为新的次大数字。
最后,该代码片段输出了数组中的第二大数字。