接着找出数组中的最大元素和最小元素Java
时间: 2024-05-08 22:17:30 浏览: 8
可以使用循环遍历整个数组,同时记录最大值和最小值,比较每个元素与当前的最大值和最小值,更新最大值和最小值即可。
以下是示例代码:
```java
public class Main {
public static void main(String[] args) {
int[] arr = {5, 2, 7, 1, 9, 3};
int max = arr[0]; // 初始化为数组第一个元素
int min = arr[0]; // 初始化为数组第一个元素
for (int i = 1; i < arr.length; i++) {
if (arr[i] > max) {
max = arr[i];
}
if (arr[i] < min) {
min = arr[i];
}
}
System.out.println("最大值为:" + max);
System.out.println("最小值为:" + min);
}
}
```
输出结果为:
```
最大值为:9
最小值为:1
```
相关问题
找出integer数组中最大的十个数
以下是一种可能的解决方案:
1. 定义一个长度为10的数组max,用于存储当前的最大值;
2. 遍历整个integer数组,对于每个元素:
1. 如果当前元素比max中最小的元素还小,则忽略当前元素;
2. 否则,将当前元素插入到max中,并将最小的元素移除;
3. 返回max数组中的元素即为最大的十个数。
Java代码实现:
```java
public static int[] findTop10(int[] nums) {
int[] max = new int[10];
Arrays.fill(max, Integer.MIN_VALUE);
for (int num : nums) {
if (num <= max[0]) {
continue;
}
int i = 0;
while (i < 9 && num <= max[i + 1]) {
i++;
}
System.arraycopy(max, i, max, i + 1, 9 - i);
max[i] = num;
}
return max;
}
```
该方法的时间复杂度为O(nlogn),其中n为integer数组的长度。
用java写一个算法,找出二维数组中在所有行中最大但在所有列中最小的数组元素
好的,这个问题是一个编程问题,我可以帮助你解答。下面是我的代码实现:
```java
public static int findMaxInRowAndMinInCol(int[][] arr) {
int maxInRow, minInCol;
for (int i = 0; i < arr.length; i++) {
maxInRow = arr[i][0];
int maxIndex = 0;
for (int j = 1; j < arr[0].length; j++) {
if (arr[i][j] > maxInRow) {
maxInRow = arr[i][j];
maxIndex = j;
}
}
minInCol = maxInRow;
for (int k = 0; k < arr.length; k++) {
if (arr[k][maxIndex] < minInCol) {
minInCol = arr[k][maxIndex];
}
}
if (maxInRow == minInCol) {
return maxInRow;
}
}
return -1;
}
```
以上代码先遍历每行,找到当前行的最大值和其在列中的索引。接着遍历每列,找到当前列的最小值。最后再判断一下当前行最大值和当前列最小值是否相等,如果相等就是我们要找的值,否则继续遍历。如果找到最后还没有找到符合条件的元素,就返回-1表示未找到。希望能够解答你的问题。