Minimum Absolute Sum Difference LeetCode solution in Python
1# Runtime: 2682 ms (Top 14.06%) | Memory: 30 MB (Top 26.09%)2class Solution:3def minAbsoluteSumDiff(self, nums1: List[int], nums2: List[int]) -> int:4n = len(nums1)5diff = []6sum = 07for i in range(n):8temp = abs(nums1[i] - nums2[i])9diff.append(temp)10sum += temp11nums1.sort()12best_diff = []13for i in range(n):14idx = bisect.bisect_left(nums1, nums2[i])15if idx != 0 and idx != n:16best_diff.append(17min(abs(nums2[i] - nums1[idx]), abs(nums2[i] - nums1[idx - 1]))18)19elif idx == 0:20best_diff.append(abs(nums2[i] - nums1[idx]))21else:22best_diff.append(abs(nums2[i] - nums1[idx - 1]))23saved = 024for i in range(n):25saved = max(saved, diff[i] - best_diff[i])26return (sum - saved) % ((10**9) + (7))