給你乙個整數陣列 arr 和乙個整數 k 。現需要從陣列中恰好移除 k 個元素,請找出移除後陣列中不同整數的最少數目。
示例 1:
輸入:arr = [5,5,4], k = 1
輸出:1
解釋:移除 1 個 4 ,陣列中只剩下 5 一種整數。
示例 2:
輸入:arr = [4,3,1,1,3,3,2], k = 3
輸出:2
解釋:先移除 4、2 ,然後再移除兩個 1 中的任意 1 個或者三個 3 中的任意 1 個,最後剩下 1 和 3 兩種整數。
1 <= arr.length <= 10^5
1 <= arr[i] <= 10^9
0 <= k <= arr.length
先統計各個數字出現的次數,然後按照數量從小到大排序,優先刪除數量小的數,直到移除了給定的數量,最後計算還剩下的數字種類。
class
solution
intfindleastnumofuniqueints
(vector<
int>
& arr,
int k)
vectorint,
int>>
s(statistic.
begin()
,statistic.
end())
;sort
(s.begin()
,s.end()
,cmp)
;int del =0;
int total = s.
size()
;for
(auto n:s)
return total - del;}}
;
Leetcode 1481 不同整數的最少數目
給你乙個整數陣列arr和乙個整數k。現需要從陣列中恰好移除k個元素,請找出移除後陣列中不同整數的最少數目。示例 1 輸入 arr 5,5,4 k 1 輸出 1 解釋 移除 1 個 4 陣列中只剩下 5 一種整數。問題的關鍵是對unordered map按照value進行排序。方法是將unordere...
js實現 不同整數的最少數目歸結
給定乙個整數陣列 arr 和乙個整數 k 現需要從陣列中恰好移除 k 個元素,請找出移除後陣列中不同整數的最少數目。輸入 arr 5,5,4 k 1輸出 1解釋 移除 1 個 4 陣列中只剩下 5 一種整數。輸入 arr 4,3,1,1,3,3,2 k 3 輸出 2 解釋 先移除 4 2 然後再移除...
力扣 452 用最少數量的箭引爆氣球
在二維空間中有許多球形的氣球。對於每個氣球,提供的輸入是水平方向上,氣球直徑的開始和結束座標。由於它是水平的,所以y座標並不重要,因此只要知道開始和結束的x座標就足夠了。開始座標總是小於結束座標。平面內最多存在104個氣球。一支弓箭可以沿著x軸從不同點完全垂直地射出。在座標x處射出一支箭,若有乙個氣...