找出陣列中第二大的值

2021-09-12 10:32:21 字數 560 閱讀 5052

題目描述:對於乙個具有 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)

找出陣列中第二大的數

給你乙個陣列,求出其中第二大的數 比如陣列a 1,2,3,4,5,6,7,8,9 其中第二大的數為8,返回8即可 分析 一般情況下都是求最大值,呵呵,這道題很有趣。想想也不難,可以在掃瞄最大值的同時,求出第二大的值,就是比當前最大值大的數賦給最大值,然後用第二大的值與先前的最大值比較,如果小,則用先...

找出陣列中第二大的數

include include includeusing namespace std 初始化最大值為a 0 次大值為a 1 遍歷一次,每次比較並更新最大值和次大值,最後就可以得到次大值。這種方法時間複雜度為o n bool invalidinput false int findsecondmax i...

找出陣列中第二大的數

題目 寫乙個函式找出乙個整數陣列中,第二大的數。cpp view plain copy print?include 初始化最大值為a 0 次大值為a 1 遍歷一次,每次比較並更新最大值和次大值,最後就可以得到次大值。intfindsecondmaxvalue int a,intsize else i...