int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}不重复的取最大值,直到结束
时间: 2023-08-19 12:58:25 浏览: 92
你可以使用以下代码来找到不重复的最大,并在每次取值后将其从数组中删除,直到数组为空:
```java
int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int max = Integer.MIN_VALUE;
while (arr.length > 0) {
int index = 0;
for (int i = 1; i < arr.length; i++) {
if (arr[i] > arr[index]) {
index = i;
}
}
int currentMax = arr[index];
max = Math.max(max, currentMax);
int[] newArr = new int[arr.length - 1];
System.arraycopy(arr, 0, newArr, 0, index);
System.arraycopy(arr, index + 1, newArr, index, newArr.length - index);
arr = newArr;
}
System.out.println("最大值: " + max);
```
这段代码会遍历数组,每次找到当前最大的值并更新最大值。然后,它会创建一个新的数组,将当前最大值之前和之后的元素复制到新数组中,并将新数组赋值给原始数组。这样,每次迭代时都会删除已经取过的最大值。最后,它会输出最大值。
注意:这段代码假设数组中的元素都是正整数,如果数组中包含负数或零,你可能需要对代码进行适当的修改。
阅读全文