870. Advantage Shuffle
Description
Difficulty: Medium
Related Topics: Array, Two Pointers, Greedy, Sorting
You are given two integer arrays nums1
and nums2
both of the same length. The advantage of nums1
with respect to nums2
is the number of indices i
for which nums1[i] > nums2[i]
.
Return any permutation of nums1
that maximizes its advantage with respect to nums2
.
Example 1:
1 | Input: nums1 = [2,7,11,15], nums2 = [1,10,4,11] |
Example 2:
1 | Input: nums1 = [12,24,8,32], nums2 = [13,25,32,11] |
Constraints:
- 1 <= nums1.length <= 105
nums2.length == nums1.length
- 0 <= nums1[i], nums2[i] <= 109
Hints/Notes
- Use priority queue for nums2, also we need to record the index for each value
- Need to allocate a new res vector for return, nums1 records sorted array
1 | class Solution { |
Solution
Language: C++
1 | class Solution { |