Advantage Shuffle LeetCode solution in C++

1
class Solution {
2
public:
3
vector<int> advantageCount(vector<int> &nums1, vector<int> &nums2) {
4
int n1 = nums1.size();
5

6
int n2 = nums2.size();
7

8
multiset<int> s(nums1.begin(), nums1.end());
9

10
for (int i = 0; i < n2; i++) {
11
int val = nums2[i];
12

13
auto it = s.upper_bound(val);
14

15
if (it != s.end()) {
16
nums1[i] = *it;
17

18
s.erase(it);
19
} else {
20
nums1[i] = -1;
21
}
22
}
23

24
for (int i = 0; i < n1; i++) {
25
if (nums1[i] == -1) {
26
nums1[i] = *s.begin();
27

28
s.erase(s.begin());
29
}
30
}
31

32
return nums1;
33
}
34
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0