Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
28
Task/Averages-Mode/Java/averages-mode.java
Normal file
28
Task/Averages-Mode/Java/averages-mode.java
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
import java.util.*;
|
||||
|
||||
public class Mode {
|
||||
public static <T> List<T> mode(List<? extends T> coll) {
|
||||
Map<T, Integer> seen = new HashMap<T, Integer>();
|
||||
int max = 0;
|
||||
List<T> maxElems = new ArrayList<T>();
|
||||
for (T value : coll) {
|
||||
if (seen.containsKey(value))
|
||||
seen.put(value, seen.get(value) + 1);
|
||||
else
|
||||
seen.put(value, 1);
|
||||
if (seen.get(value) > max) {
|
||||
max = seen.get(value);
|
||||
maxElems.clear();
|
||||
maxElems.add(value);
|
||||
} else if (seen.get(value) == max) {
|
||||
maxElems.add(value);
|
||||
}
|
||||
}
|
||||
return maxElems;
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
System.out.println(mode(Arrays.asList(1, 3, 6, 6, 6, 6, 7, 7, 12, 12, 17))); // prints [6]
|
||||
System.out.println(mode(Arrays.asList(1, 1, 2, 4, 4))); // prints [1, 4]
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue