如何编程以找到数组中的最大2个数字和最小2个数字

时间:2018-07-19 13:41:33

标签: java arrays numbers

在数组中查找最大和最小是已知的,正如我在下面的代码中所做的那样 但是现在如何打印数组中的两个最大和两个最小元素。

class twolargestsmallest 
{
public static void main(String args[]) {
int a[]=new int[]{2,20,34,12,67};
int smallest=a[0];
int largest=a[0];
for(int i=0;i<a.length;i++){
if(a[i]<smallest){
smallest=a[i]; }
if(a[i]>largest){ 
largest=a[i]; }}
System.out.println(smallest+" "+largest); }}

2 个答案:

答案 0 :(得分:3)

保持解决方案的风格:当您发现一个较小/较大的数字时,不要“忘记”最新的最小和最大值,而只需将它们记住大/小即可。

for(i = 1; i < count; i++) {
    if(inputArray[i] > max)
        max2 = max;
        max = inputArray[i];
    else if (inputArray[i] < min)
        min2 = min;
        min = inputArray[i];

}

为完整性起见,请检查数组的大小,并注意某些特殊情况(例如,所有元素均相等)。

答案 1 :(得分:2)

尝试使用Array.sort并从最小的开头获取2个值,从最大的结尾获取2个值