Skip to content

Commit 1ce7488

Browse files
committed
Runtime: 2682 ms (Top 14.06%) | Memory: 30 MB (Top 26.09%)
1 parent 0223fd0 commit 1ce7488

File tree

1 file changed

+24
-23
lines changed

1 file changed

+24
-23
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,25 @@
1+
# Runtime: 2682 ms (Top 14.06%) | Memory: 30 MB (Top 26.09%)
12
class Solution:
2-
def minAbsoluteSumDiff(self, nums1: List[int], nums2: List[int]) -> int:
3-
n = len(nums1)
4-
diff = []
5-
sum = 0
6-
for i in range(n):
7-
temp = abs(nums1[i]-nums2[i])
8-
diff.append(temp)
9-
sum += temp
10-
nums1.sort()
11-
best_diff = []
12-
for i in range(n):
13-
idx = bisect.bisect_left(nums1, nums2[i])
14-
if idx != 0 and idx != n:
15-
best_diff.append(
16-
min(abs(nums2[i]-nums1[idx]), abs(nums2[i]-nums1[idx-1])))
17-
elif idx == 0:
18-
best_diff.append(abs(nums2[i]-nums1[idx]))
19-
else:
20-
best_diff.append(abs(nums2[i]-nums1[idx-1]))
21-
saved = 0
22-
for i in range(n):
23-
saved = max(saved, diff[i]-best_diff[i])
24-
return (sum-saved) % ((10**9)+(7))
3+
def minAbsoluteSumDiff(self, nums1: List[int], nums2: List[int]) -> int:
4+
n = len(nums1)
5+
diff = []
6+
sum = 0
7+
for i in range(n):
8+
temp = abs(nums1[i]-nums2[i])
9+
diff.append(temp)
10+
sum += temp
11+
nums1.sort()
12+
best_diff = []
13+
for i in range(n):
14+
idx = bisect.bisect_left(nums1, nums2[i])
15+
if idx != 0 and idx != n:
16+
best_diff.append(
17+
min(abs(nums2[i]-nums1[idx]), abs(nums2[i]-nums1[idx-1])))
18+
elif idx == 0:
19+
best_diff.append(abs(nums2[i]-nums1[idx]))
20+
else:
21+
best_diff.append(abs(nums2[i]-nums1[idx-1]))
22+
saved = 0
23+
for i in range(n):
24+
saved = max(saved, diff[i]-best_diff[i])
25+
return (sum-saved) % ((10**9)+(7))

0 commit comments

Comments
 (0)