java.lang.Object
g1801_1900.s1818_minimum_absolute_sum_difference.Solution

public class Solution extends Object
1818 - Minimum Absolute Sum Difference.<p>Medium</p> <p>You are given two positive integer arrays <code>nums1</code> and <code>nums2</code>, both of length <code>n</code>.</p> <p>The <strong>absolute sum difference</strong> of arrays <code>nums1</code> and <code>nums2</code> is defined as the <strong>sum</strong> of <code>|nums1[i] - nums2[i]|</code> for each <code>0 <= i < n</code> ( <strong>0-indexed</strong> ).</p> <p>You can replace <strong>at most one</strong> element of <code>nums1</code> with <strong>any</strong> other element in <code>nums1</code> to <strong>minimize</strong> the absolute sum difference.</p> <p>Return the <em>minimum absolute sum difference <strong>after</strong> replacing at most one element in the array <code>nums1</code>.</em> Since the answer may be large, return it <strong>modulo</strong> <code>10<sup>9</sup> + 7</code>.</p> <p><code>|x|</code> is defined as:</p> <ul> <li><code>x</code> if <code>x >= 0</code>, or</li> <li><code>-x</code> if <code>x < 0</code>.</li> </ul> <p><strong>Example 1:</strong></p> <p><strong>Input:</strong> nums1 = [1,7,5], nums2 = [2,3,5]</p> <p><strong>Output:</strong> 3</p> <p><strong>Explanation:</strong> There are two possible optimal solutions:</p> <ul> <li> <p>Replace the second element with the first: [1, <strong>7</strong> ,5] => [1, <strong>1</strong> ,5], or</p> </li> <li> <p>Replace the second element with the third: [1, <strong>7</strong> ,5] => [1, <strong>5</strong> ,5].</p> </li> </ul> <p>Both will yield an absolute sum difference of <code>|1-2| + (|1-3| or |5-3|) + |5-5| =</code> 3.</p> <p><strong>Example 2:</strong></p> <p><strong>Input:</strong> nums1 = [2,4,6,8,10], nums2 = [2,4,6,8,10]</p> <p><strong>Output:</strong> 0</p> <p><strong>Explanation:</strong> nums1 is equal to nums2 so no replacement is needed. This will result in an absolute sum difference of 0.</p> <p><strong>Example 3:</strong></p> <p><strong>Input:</strong> nums1 = [1,10,4,4,2,7], nums2 = [9,3,5,1,7,4]</p> <p><strong>Output:</strong> 20</p> <p><strong>Explanation:</strong> Replace the first element with the second: [<strong>1</strong> ,10,4,4,2,7] => [<strong>10</strong> ,10,4,4,2,7]. This yields an absolute sum difference of <code>|10-9| + |10-3| + |4-5| + |4-1| + |2-7| + |7-4| = 20</code></p> <p><strong>Constraints:</strong></p> <ul> <li><code>n == nums1.length</code></li> <li><code>n == nums2.length</code></li> <li><code>1 <= n <= 10<sup>5</sup></code></li> <li><code>1 <= nums1[i], nums2[i] <= 10<sup>5</sup></code></li> </ul>
  • Constructor Details

    • Solution

      public Solution()
  • Method Details

    • minAbsoluteSumDiff

      public int minAbsoluteSumDiff(int[] nums1, int[] nums2)