求出数组中最大数和次最大数
时间: 2024-02-13 11:04:16 浏览: 46
好的,问题已经记录下来了。对于你的问题,可以使用以下的 Python 代码来求解:
```python
def find_largest_two_numbers(arr):
largest = arr[0]
second_largest = float("-inf")
for i in range(1, len(arr)):
if arr[i] > largest:
second_largest = largest
largest = arr[i]
elif arr[i] > second_largest and arr[i] != largest:
second_largest = arr[i]
return largest, second_largest
```
这个函数接收一个数组 `arr` 作为输入,然后返回这个数组中最大的两个数,其中第一个数是最大的,第二个数是次最大的。这个算法的时间复杂度是 $O(n)$,其中 $n$ 是数组的长度。
需要注意的是,如果数组中存在多个相同的最大数,那么次最大数就是排在这些最大数后面的第一个不同的数。例如,对于数组 `[1, 3, 2, 5, 5, 6, 4]`,最大数是 6,次最大数是 5。
阅读全文