已知numpy函式庫中max和argmax函式可以得出乙個陣列中最大的成員以及所在位置:
那麼如何得到乙個陣列中第二大的成員呢?import numpy as np
arr = [2, 3, 4, 1, 7, 6, 5]
print("# arr中最大的數為{},位於第{}位".format(np.max(arr), np.argmax(arr)+1))
我的思想是:將原陣列中最大的成員換為最小的成員,然後再用max和argmax。
arr_ = arr
arr_[np.argmax(arr_)] = np.min(arr)
print(arr_)
print("# arr中最大的數為{},位於第{}位".format(np.max(arr_), np.argmax(arr_)+1))
def find_sub_max(arr, n):
for i in range(n-1):
arr_ = arr
arr_[np.argmax(arr_)] = np.min(arr)
arr = arr_
print("# arr中最大的數為{},位於第{}位".format(np.max(arr_), np.argmax(arr_)+1))
find_sub_max(arr, 4)
找出陣列中第二大的數
給你乙個陣列,求出其中第二大的數 比如陣列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...