0%
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| import bisect class Solution: def minAbsoluteSumDiff(self, nums1: List[int], nums2: List[int]) -> int: n = len(nums1) total = sum([abs(x-y) for x,y in list(zip(nums1,nums2))]) a = sorted(nums1) big_diff = 0 for x,y in list(zip(nums1,nums2)): idx = bisect.bisect_left(a,y) if idx<=n-1: big_diff = max(big_diff,abs(x-y)-abs(a[idx]-y)) if idx>=1: big_diff = max(big_diff,abs(x-y)-abs(y-a[idx-1])) return (total-big_diff)%(10**9+7)
|