簡易方法求陣列中的第二大值以及下標

2021-10-01 03:47:30 字數 734 閱讀 5997

方法一:(此法有侷限性,適用於元素不重複的陣列,如果重複可以進一步判斷即可)

int arr =

; int m1;// 最大值

int m2=arr[0];// 第二大值

int arr2 = arr.clone()

; arrays.sort

(arr2)

; m2 = arr2[arr2.length-2];

int flag=-1;

for (int i = 0; i < arr.length; i++)

} system.out.println

("次大值為:"+m2+"下標為:"+flag)

;

方法二:

int arr =

; int m1;// 最大值

int m2;// 第二大值

//給前兩個元素先賦最值和次最值

if (arr[0] > arr[1])

else

//從第三個元素開始迴圈比較

for (int i = 2; i < arr.length; i++)

if (arr[i]m2)

} system.out.println

("最大值為:"+m1+" 次大值為:"+m2)

; for (int i = 0; i < arr.length; i++)

}

求陣列的最大值 第二大值

注意 陣列的最大值同時存在多個的情況!1 對比findmax2和findmax22兩個函式的處理,細微差別導致結果不同!2 當陣列作為函式形參時,如果是常量陣列,則最好新增const 3 sizeof arr sizeof int 4 隨機數生成 srand unsigned time null r...

找出陣列中第二大的值

題目描述 對於乙個具有 n 個元素的陣列,用乙個天平,通過比較 2個元素的重量,求出第二重的乙個。如下 import numpy as np def secondmax a max a 0 假設第乙個元素為最大值 secondmax 1 for i in a 遍歷每乙個元素 if max i 如果當...

找出陣列中第二大的數

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