四个数遍历找出第二大的数java
时间: 2023-11-29 22:05:50 浏览: 32
可以使用一个数组来存储这四个数,然后遍历数组找到最大值和次大值。
Java代码如下:
```
public static int findSecondLargest(int[] arr) {
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];
}
}
return secondMax;
}
```
使用示例:
```
int[] arr = {5, 3, 9, 7};
int secondLargest = findSecondLargest(arr);
System.out.println("Second largest number is: " + secondLargest);
```
运行结果:
```
Second largest number is: 7
```
相关问题
四个数遍历找出第二大的数
可以使用一个变量记录当前最大值和次大值,遍历四个数时,若当前数比最大值大,则将最大值赋值给次大值,将当前数赋值给最大值;若当前数比次大值大且不等于最大值,则将当前数赋值给次大值。最后得到的次大值即为第二大的数。
示例代码:
```python
a = [3, 6, 1, 8]
max_num = a[0]
second_max = float('-inf') # 初始值设为负无穷,确保第二大的数可以被更新
for num in a:
if num > max_num:
second_max = max_num
max_num = num
elif num > second_max and num != max_num:
second_max = num
print(second_max) # 输出结果为 6
```
java中找出数组中第一个重复的数字。
可以使用哈希表(Hash Table)来解决该问题,具体步骤如下:
1. 创建一个哈希表(HashMap)用于存储数组中的数字,初始为空。
2. 遍历数组中的每个数字,对于每个数字,如果该数字不在哈希表中,则将该数字作为键,值为 true 存入哈希表中;如果该数字已经在哈希表中,则说明该数字是数组中的重复数字,直接返回该数字即可。
3. 如果遍历完数组后仍然没有找到重复数字,则返回 -1。
以下是 Java 代码实现:
```java
public static int findDuplicate(int[] nums) {
Map<Integer, Boolean> map = new HashMap<>();
for (int num : nums) {
if (map.containsKey(num)) {
return num;
} else {
map.put(num, true);
}
}
return -1;
}
```