Sort Array by Increasing Frequency

给一个数组, 求按照频率从低到高排序, 如果相同, 按照数字从大到小排序.

class Solution {
    public int[] frequencySort(int[] nums) {
        int[] f = new int[201];
        for(int n : nums){
            f[n+100]++;
        }
        List<int[]> list = new ArrayList<>();
        for(int i  = 0; i < 201; i++) {
            if(f[i] != 0)
                list.add(new int[]{i - 100, f[i]});
        }
        Collections.sort(list, (a,b) -> (a[1] == b[1] ? b[0] - a[0] : a[1] - b[1]));
        int[] res = new int[nums.length];
        int k = 0;
        for(int[] l : list) {
            for(int i = 0; i < l[1]; i++) {
                res[k++] = l[0];
            }
        }
        return res;
    }
}