标签:after put find arrays tor ast 整数 sort turn
思路
arr
,并用map
记录各元素出现的次数val
中。(KeySet()
获取map中所有的key)val
,同时与k
比较,更新k
的值代码
//55ms
public static int findLeastNumOfUniqueInts(int[] arr, int k) {
Map<Integer, Integer> map = new HashMap<>();
for (int num : arr) {
map.put(num, map.getOrDefault(num, 0) + 1);
}
if (k == 0) return map.size();
int[] val = new int[map.size()];
int i = 0;
for (int key : map.keySet()) {//获取map的所有key 并遍历
val[i++] = map.get(key);
}
Arrays.sort(val);
int j;
for (j = 0; j < val.length; j++) {
if (k - val[j] >= 0) {
k = k - val[j];
} else break;
}
return val.length - j;//秒!!!
}
参考链接
标签:after put find arrays tor ast 整数 sort turn
原文地址:https://www.cnblogs.com/yh-simon/p/13125082.html