Java中如何去掉最大數和最小數是一個常見的問題,下面我們來詳細介紹一下。
首先,我們需要明確一下操作的對象是什么。如果是操作數組,我們可以采用以下方法:
public void removeMaxAndMin(int[] arr) { if (arr == null || arr.length == 0) { return; } int minIndex = 0; int maxIndex = 0; for (int i = 1; i< arr.length; i++) { if (arr[i]< arr[minIndex]) { minIndex = i; } if (arr[i] >arr[maxIndex]) { maxIndex = i; } } int[] newArr = new int[arr.length - 2]; int index = 0; for (int i = 0; i< arr.length; i++) { if (i != minIndex && i != maxIndex) { newArr[index++] = arr[i]; } } // 將新數組復制到原數組 System.arraycopy(newArr, 0, arr, 0, newArr.length); }
上面的代碼中,我們先找到最小值和最大值的下標,然后新建一個長度減去2的數組,將原數組中不是最大值和最小值的元素復制到新數組中,最后將新數組復制到原數組中。
如果是操作列表,我們可以采用以下方法:
public void removeMaxAndMin(Listlist) { if (list == null || list.size() == 0) { return; } Integer min = list.get(0); Integer max = list.get(0); int minIndex = 0; int maxIndex = 0; for (int i = 1; i< list.size(); i++) { if (list.get(i)< min) { min = list.get(i); minIndex = i; } if (list.get(i) >max) { max = list.get(i); maxIndex = i; } } list.remove(maxIndex); list.remove(minIndex); }
上面的代碼中,我們先找到最小值和最大值的下標,然后直接從列表中刪除這兩個元素即可。
總之,無論是操作數組還是操作列表,我們都要先找到最小值和最大值的下標,然后再將它們從數據結構中刪除。
下一篇mcpay.php