给定两个长度相等的数组
nums1
和nums2
,nums1
相对于nums2
的优势可以用满足nums1[i] > nums2[i]
的索引i
的数目来描述。返回 nums1 的任意排列,使其相对于
nums2
的优势最大化。
def advantageCount(nums1, nums2):
nums1.sort()
sorted_pairs = sorted(enumerate(nums2), key=lambda x: x[1])
result = [-1] * len(nums1)
left, right = 0, len(nums1) - 1
for i, num in sorted_pairs:
if nums1[right] > num:
result[i] = nums1[right]
right -= 1
else:
result[i] = nums1[left]
left += 1
return result
nums1 = [2, 7, 11, 15]
nums2 = [1, 10, 4, 11]
print(advantageCount(nums1, nums2)) # 输出 [2, 11, 7, 15]