Home

Quartiles

Detailed explanation coming soon!

import java.util.*;

public class Solution {
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int[] a = new int[n];
        for(int i = 0; i < n; i++){
            a[i] = in.nextInt();
        }
        Arrays.sort(a);
        printQuartiles(a);
    }

    public static void printMedian(int[] a, int startIndex, int length) {
        if((length & 1) == 0){
            //even
            System.out.println((a[(length / 2) + startIndex] + a[(length / 2) - 1 + startIndex]) / 2);
        } else {
            //odd
            System.out.println(a[(length / 2) + startIndex]);
        }
    }

    public static void printQuartiles(int[] a){
        printMedian(a, 0, a.length / 2);
        printMedian(a, 0, a.length);
        if((a.length & 1) == 0){
            printMedian(a, a.length / 2, a.length / 2);
        } else {
            printMedian(a, (a.length / 2) + 1, a.length / 2);
        }
    }
}


Questions? Have a neat solution? Comment below!