使用java一个数组{21,13,6,33,15} 求第二大元素,不允许使排序
时间: 2023-10-04 09:08:33 浏览: 45
可以使用循环遍历数组,同时记录当前最大值和次大值。具体做法如下:
```java
public static int findSecondLargest(int[] arr) {
int max = arr[0];
int secondMax = arr[0];
for (int i = 1; i < arr.length; i++) {
if (arr[i] > max) {
// 如果当前元素大于最大值,更新最大值和次大值
secondMax = max;
max = arr[i];
} else if (arr[i] > secondMax && arr[i] != max) {
// 如果当前元素大于次大值且不等于最大值,更新次大值
secondMax = arr[i];
}
}
return secondMax;
}
```
使用该方法,可以得到数组{21,13,6,33,15}的第二大元素为21。
相关问题
现有一个已排序的数组,请使用递归二分法查找出元素第一次出现的位置,用Java
好的,以下是使用递归二分法查找元素第一次出现位置的Java代码:
```
public static int binarySearch(int[] arr, int target) {
return search(arr, target, 0, arr.length - 1);
}
private static int search(int[] arr, int target, int left, int right) {
if (left > right) {
return -1; // 没有找到目标元素
}
int mid = left + (right - left) / 2;
if (arr[mid] == target) {
if (mid == 0 || arr[mid - 1] != target) {
return mid; // 找到目标元素第一次出现的位置
} else {
return search(arr, target, left, mid - 1); // 在左半边继续查找
}
} else if (arr[mid] < target) {
return search(arr, target, mid + 1, right); // 在右半边继续查找
} else {
return search(arr, target, left, mid - 1); // 在左半边继续查找
}
}
```
其中,`binarySearch`方法是公开的二分查找方法,它调用了私有的`search`方法来实现递归二分查找。`search`方法接收四个参数,分别是要查找的数组、目标元素、查找区间的左端点和右端点。如果找到了目标元素,就判断它是否是第一次出现,如果是,则返回位置;如果不是,则在左半边继续查找;如果目标元素比中间元素小,则在左半边查找;如果目标元素比中间元素大,则在右半边查找。如果最终没有找到目标元素,就返回-1。
使用插入排序对给定数组从小到大排序,不需要输出排序后的数组,需输出从第二个元素开始每个元素 插入的的位置JAVA
好的,以下是使用插入排序对给定数组从小到大排序,并输出每个元素插入的位置的JAVA代码:
```java
public static void insertionSort(int[] arr) {
for (int i = 1; i < arr.length; i++) {
int temp = arr[i];
int j = i - 1;
while (j >= 0 && arr[j] > temp) {
arr[j + 1] = arr[j];
j--;
}
arr[j + 1] = temp;
System.out.println("第" + i + "个元素插入的位置为:" + (j + 1));
}
}
```
使用方法:
```java
int[] arr = {5, 3, 8, 1, 9};
insertionSort(arr);
```
输出:
```
第2个元素插入的位置为:0
第3个元素插入的位置为:2
第4个元素插入的位置为:0
第5个元素插入的位置为:4
```
在输出中,第 i 个元素插入的位置为 j,表示在排序后的数组中,原数组的第 i 个元素插入到了排序后数组的第 j 个位置。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)