Write a method rarest that accepts a map whose keys are stri
Solution
Code:
public static int rarest(Map<String, Integer> m) {
int age = 0;
if (m.size() == 0)
m = null;
Collection<Integer> c = m.values();
Object values[] = c.toArray();
Set<Object> set = new TreeSet<Object>();
for (Object a : values) {
set.add(a);
}
Map<Object, Integer> m2 = new HashMap<Object, Integer>();
for (Object o : set) {
m2.put(o, 0);
}
for (Object a : values) {
for (Object b : set) {
if (a.equals(b)) {
age = m2.get(b);
age++;
m2.put(b, age);
}
}
}
int n = 0;
for (Object o : set) {
if (n == 0 || m2.get(o) < n) {
n = m2.get(o);
age = (int) o;
} else {
if (m2.get(o) == n) {
if ((int) o < age) {
age = (int) o;
}
}
}
}
return age;
}
