我必须做一个函数,输入一个整数 m,并删除地图中具有最小值的 m 元素。我的主要问题是使用 O(nlogn) 复杂性来执行此操作。(n是地图的大小)
这是我的解决方案:
if (Map.isEmpty())
return;
if (Map.size()<m){ //remove all keys
Iterator<K> it=Map.keys().iterator(); //collection of all keys
while (it.hasNext())
Map.remove(it.next());
}
else{
for (int i=0; i<m; i++){
key=Map.findKeyMin() //complexity:O(n)
Map.remove(K);
}