Given a non-empty array of integers,
return the k most frequent elements.
For example,
Given [1,1,1,2,2,3] and k = 2, return [1,2].
Note:
You may assume k is always valid,
1 ≤ k ≤ number of unique elements.
better than O(n log n), where n is the array's size.
http://www.cnblogs.com/grandyang/p/5454125.html