Skip to content

Latest commit

 

History

History
 
 

1775.Equal-Sum-Arrays-With-Minimum-Number-of-Operations

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

1775.Equal-Sum-Arrays-With-Minimum-Number-of-Operations

假设nums1比num2的sum要大,那么我们要将这两个sum更靠近,无非就是两种思路:要么将nums1里面的元素改小,要么将num2里面的元素改大。为了减少操作次数,我们必须最大化改动的效率。也就是说,如果选择将nums1里面的元素改小,那么我们一定会将最大的元素改成1;反之,我们也可以将nums2里面最小的元素改成6。至于这两种方案里面怎么选,自然是查看它们的变动幅度,看哪个更大一些。一旦改动幅度能够cover当前的diff,就说明可以将这两个sum变成一致的。

所以我们将两个数组都排个序。对于nums1,我们从后往前改动;对于nums2,我们从前往后改动。于是本题本质就是一个双指针,每改动一次,就移动相应的一个指针。直至diff小于等于零(实现目标),或者两个指针都到了尽头(无法实现目标)。