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;
}

