Advertisement
sedran

Exercise 11.19: rarest : Practice-It!

Apr 11th, 2011
269
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.93 KB | None | 0 0
  1. public int rarest(Map<String, Integer> m) throws Exception {
  2.    Map<Integer,Integer> temp = new HashMap<Integer,Integer>();
  3.    if(m.isEmpty()) {
  4.       throw new Exception();
  5.    } else {
  6.       Iterator<Integer> it = m.values().iterator();
  7.       while( it.hasNext() ) {
  8.          int key = it.next();
  9.          if( temp.containsKey(key) ) {
  10.             int value = temp.get(key)+1;
  11.             temp.put(key,value);
  12.          } else {
  13.             temp.put(key,1);
  14.          }
  15.       }
  16.      
  17.       it = temp.keySet().iterator();
  18.       int min = it.next();
  19.       int minCount = temp.get(min);
  20.       while(it.hasNext()) {
  21.          int next = it.next();
  22.          int val = temp.get(next);
  23.          if( val < minCount ) {
  24.             minCount = val;
  25.             min = next;
  26.          } else if( val==minCount && next < min) {
  27.             minCount = val;
  28.             min = next;
  29.          }
  30.       }
  31.      
  32.       return min;
  33.    }
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement