Finding the median value of an array?

后端 未结 9 1334
伪装坚强ぢ
伪装坚强ぢ 2020-12-03 14:58

I was wondering if it was possible to find the median value of an array? For example, suppose I have an array of size nine. Would it possible to find the middle slot of this

9条回答
  •  天涯浪人
    2020-12-03 15:24

    If you want to use any external library here is Apache commons math library using you can calculate the Median.
    For more methods and use take look at the API documentation

    import org.apache.commons.math3.*;
    .....
    ......
    ........
    //calculate median
    public double getMedian(double[] values){
     Median median = new Median();
     double medianValue = median.evaluate(values);
     return medianValue;
    }
    .......
    
    • For more on evaluate method AbstractUnivariateStatistic#evaluate

    Calculate in program

    Generally, median is calculated using the following two formulas given here

    If n is odd then Median (M) = value of ((n + 1)/2)th item term.
    If n is even then Median (M) = value of [((n)/2)th item term + ((n)/2 + 1)th item term ]/2

    It is very easy as you have 9 elements (odd number).
    Find the middle element of an array.
    In your program you can declare array

    //as you mentioned in question, you have array with 9 elements
    int[] numArray = new int[9]; 
    

    then you need to sort array using Arrays#sort

    Arrays.sort(numArray);
    int middle = numArray.length/2;
    int medianValue = 0; //declare variable 
    if (numArray.length%2 == 1) 
        medianValue = numArray[middle];
    else
       medianValue = (numArray[middle-1] + numArray[middle]) / 2;
    

提交回复
热议问题