题目描述:对于一个具有 n 个元素的数组,用一个天平,通过比较 2个元素的重量,求出第二重的一个。
代码如下:
import numpy as np
def SecondMax(a):
Max = a[0] # 假设第一个元素为最大值
secondMax = -1
for i in a: # 遍历每一个元素
if Max < i: # 如果当前值大于最大值,将最大值赋给第二大值,当前值赋给最大值
secondMax = Max
Max = i
elif Max > i and secondMax < i: # 如果当前值小于最大值且大于第二大值,则赋给第二大值
secondMax = i
return Max, secondMax
a = np.random.randint(low=0, high=10, size=10)
print(a)
print(SecondMax(a)) # 打印最大值和第二大值
其时间复杂度为O(n)