色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java求最大值和次大值

黃文隆1年前7瀏覽0評論

在Java中,要求一個整數數組中的最大值和次大值是很常見的問題。我們可以使用以下代碼來解決這個問題:

int[] arr = {1, 5, 3, 8, 2, 6, 9};
int max = Integer.MIN_VALUE;
int secondMax = Integer.MIN_VALUE;
for (int i = 0; i< arr.length; i++) {
if (arr[i] >max) {
secondMax = max;
max = arr[i];
} else if (arr[i] >secondMax && arr[i] != max) {
secondMax = arr[i];
}
}
System.out.println("最大值: " + max);
System.out.println("次大值: " + secondMax);

在上面的代碼中,我們使用了一個for循環來遍歷整個數組,并使用兩個變量max和secondMax來存儲最大值和次大值。

我們首先將max和secondMax的初始值分別設為Integer.MIN_VALUE。然后,我們遍歷數組中的所有元素,如果當前元素大于max,則將max的值更新為當前元素的值,并將secondMax的值更新為max的舊值。如果當前元素大于secondMax且不等于max,那么我們將secondMax的值更新為當前元素的值。

最后,我們使用System.out.println()輸出最大值和次大值。運行上面的代碼,輸出結果為:

最大值: 9
次大值: 8

這個算法的時間復雜度為O(n),其中n是數組的長度。因為我們只需要遍歷一次整個數組來找到最大值和次大值。