| 29708 |
amit.gupta |
1 |
package com.spice.profitmandi.common.services.mandii;
|
|
|
2 |
|
|
|
3 |
import java.io.BufferedReader;
|
|
|
4 |
import java.io.IOException;
|
|
|
5 |
import java.io.InputStreamReader;
|
|
|
6 |
import java.util.Arrays;
|
|
|
7 |
import java.util.List;
|
|
|
8 |
import java.util.stream.Collectors;
|
|
|
9 |
|
|
|
10 |
public class Solution {
|
|
|
11 |
public static void main(String[] args) throws IOException {
|
|
|
12 |
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
|
|
|
13 |
|
|
|
14 |
int length = Integer.parseInt(bufferedReader.readLine());
|
|
|
15 |
List<Integer> row = Arrays.asList(bufferedReader.readLine().split(" ")).stream().map(x -> Integer.parseInt(x))
|
|
|
16 |
.collect(Collectors.toList());
|
|
|
17 |
double total = 0;
|
|
|
18 |
int maxNum = 0;
|
|
|
19 |
for (int num : row) {
|
|
|
20 |
total += num;
|
|
|
21 |
if (maxNum < num)
|
|
|
22 |
maxNum = num;
|
|
|
23 |
}
|
|
|
24 |
System.out.println(String.format("%.1f",total / length));
|
|
|
25 |
double median = length % 2 == 0 ? (double)(row.get((length - 1) / 2) + row.get((length + 1) / 2) / 2) : row.get(length / 2);
|
|
|
26 |
System.out.println(String.format("%.1f",median));
|
|
|
27 |
int[] arr = new int[maxNum+1];
|
|
|
28 |
for (int num : row) {
|
|
|
29 |
arr[num]++;
|
|
|
30 |
}
|
|
|
31 |
int mode = 0;
|
|
|
32 |
int frequency = 0;
|
|
|
33 |
for (int i=0; i< maxNum; i++) {
|
|
|
34 |
if(arr[i] > frequency) {
|
|
|
35 |
mode = i;
|
|
|
36 |
frequency = arr[i];
|
|
|
37 |
}
|
|
|
38 |
}
|
|
|
39 |
System.out.println(mode);
|
|
|
40 |
}
|
|
|
41 |
}
|