📜  用于不同元素数组中第三大元素的Java程序(1)

📅  最后修改于: 2023-12-03 15:27:10.071000             🧑  作者: Mango

用于不同元素数组中第三大元素的Java程序

本文将为您介绍如何编写一个用于获取不同元素数组中第三大元素的Java程序。

需求分析

我们需要编写一个Java程序,在给定不同元素的数组中找到第三大元素。需要注意的是,数组中的元素可能会有重复。

思路分析

我们可以先将数组去重,再对去重后的数组进行排序,最后找到第三大的元素。

代码实现
去重

我们可以用Set来去重:

Set<Integer> set = new HashSet<>(Arrays.asList(nums));
Integer[] distinctNums = set.toArray(new Integer[0]);
排序

我们可以用Arrays类的sort方法来对数组进行排序:

Arrays.sort(distinctNums, Comparator.reverseOrder());
找到第三大的元素

在去重和排序后,第三大的元素就是数组中的第二个元素了:

if(distinctNums.length >= 3) {
    return distinctNums[2];
} else {
    return distinctNums[0];
}
完整代码
import java.util.*;

public class ThirdMaxNum {
    public static int thirdMax(int[] nums) {
        Set<Integer> set = new HashSet<>(Arrays.asList(nums));
        Integer[] distinctNums = set.toArray(new Integer[0]);
        Arrays.sort(distinctNums, Comparator.reverseOrder());
        if(distinctNums.length >= 3) {
            return distinctNums[2];
        } else {
            return distinctNums[0];
        }
    }
}
总结

本文介绍了如何编写一个用于获取不同元素数组中第三大元素的Java程序。我们可以先对数组进行去重,再进行排序,最后找到第三大的元素。通过这个例子,我们也可以看到Java中Set和Arrays类的使用方法。