找出数组a[1..n]中最大值和次大值。(数组中元素个数大于两个且值各不相同) 函数接
时间: 2023-10-27 14:02:48 浏览: 356
最大值和次大值
可以使用遍历数组的方法来找出最大值和次大值。
首先,定义两个变量max和second_max,分别表示最大值和次大值。将数组的第一个元素赋值给max,然后遍历数组的其他元素。
在遍历过程中,如果当前元素大于max,则将max的值赋给second_max,并将当前元素赋给max。
如果当前元素小于max但大于second_max,则将当前元素赋给second_max。
代码实现如下:
```
def find_max_and_second_max(a):
max_val = a[0]
second_max_val = a[1] if a[1] > a[0] else a[0]
for i in range(2, len(a)):
if a[i] > max_val:
second_max_val = max_val
max_val = a[i]
elif a[i] > second_max_val:
second_max_val = a[i]
return max_val, second_max_val
```
通过调用该函数,并传入数组a作为参数,即可得到数组a中最大值和次大值。
例如,如果数组a为[1, 5, 3, 7, 2],则调用函数`find_max_and_second_max(a)`会返回(7, 5)。最大值为7,次大值为5。
阅读全文