1775. Equal Sum Arrays With Minimum Number of Operations - cocoder39/coco39_LC GitHub Wiki
1775. Equal Sum Arrays With Minimum Number of Operations
class Solution:
def minOperations(self, nums1: List[int], nums2: List[int]) -> int:
sum1, sum2 = sum(nums1), sum(nums2)
if sum1 > sum2:
return self.minOperations(nums2, nums1)
m, n = len(nums1), len(nums2)
if 6 * m < n:
return -1
nums1.sort()
nums2.sort()
p1, p2 = 0, len(nums2) - 1
delta = sum2 - sum1
count = 0
while delta > 0:
if p1 < m and p2 >= 0 and 6 - nums1[p1] >= nums2[p2] - 1:
delta -= 6 - nums1[p1]
p1 += 1
else:
delta -= nums2[p2] - 1
p2 -= 1
count += 1
return count