题意
题目链接https://leetcode.cn/problems/maximum-size-of-a-set-after-removals/description/
思路
贪心
代码
class Solution {
public:
int maximumSetSize(vector<int>& nums1, vector<int>& nums2) {
map<int, int> visit;
for (auto &i:nums1)
visit[i] |= 1;
for (auto &i:nums2)
visit[i] |= 2;
set<int> visit2;
int k = nums1.size() >> 1;
int j = nums2.size() >> 1;
int ans = 0;
for (auto &index: visit)
{
switch (index.second) {
case 1:
if (k > 0)
{
k--;
ans++;
}
break;
case 2:
if (j > 0)
{
j--;
ans++;
}
break;
default :
visit2.insert(index.first);
}
}
int m = visit2.size();
int n = min(k, m);
ans += n;
m -= n;
ans += min(j, m);
return ans;
}
};

被折叠的 条评论
为什么被折叠?



