We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
importjava.util.Scanner;importjava.util.Arrays;importjava.util.HashMap;// Time Complexity: O(n log n) due to sortingpublicclassSolution{publicstaticvoidmain(String[]args){/* Save input */Scannerscan=newScanner(System.in);intsize=scan.nextInt();int[]array=newint[size];for(inti=0;i<size;i++){array[i]=scan.nextInt();}scan.close();/* Sort array: O(n log n) runtime */Arrays.sort(array);/* Calculate Mean */inttotal=0;for(intnum:array){total+=num;}doublemean=(double)total/size;/* Calculate Median */doublemedian;if(size%2==0){median=(array[size/2-1]+array[size/2])/2.0;}else{median=array[size/2];}/* Calculate Mode - if there's a tie, choose the smaller number */HashMap<Integer,Integer>map=newHashMap<>();intmaxOccurrences=0;intmode=Integer.MAX_VALUE;for(intnum:array){map.merge(num,1,Integer::sum);intoccurrences=map.get(num);if(occurrences>maxOccurrences||(occurrences==maxOccurrences&&num<mode)){maxOccurrences=occurrences;mode=num;}}/* Print results */System.out.println(mean);System.out.println(median);System.out.println(mode);}}
Day 0: Mean, Median, and Mode
You are viewing a single comment's thread. Return to all comments →
Java solution - passes 100% of test cases
From my HackerRank Java solutions