A와 B라는 두 개의 숫자 목록이 있고 길이가 같다고 가정합니다. 모든 0 ≤ i
따라서 입력이 A =[2, 4, 10, 6] B =[3, 4, 7, 5]인 경우 출력은 i =0 및 j =2일 때와 같이 14가 되고 | 2 - 10| + |3 - 7| + |1 - 3|.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
예시
class Solution:
def solve(self, a, b):
ans = 0
n = len(a)
for s, t in [(-1, -1), (-1, 1), (1, -1), (1, 1)]:
cur_min = float("inf")
cur_max = float("-inf")
for i in range(n):
tmp = s * a[i] + t * b[i] + i
cur_min = min(cur_min, tmp)
cur_max = max(cur_max, tmp)
ans = max(ans, cur_max - cur_min)
return ans
ob = Solution()
A = [2, 4, 10, 6]
B = [3, 4, 7, 5]
print(ob.solve(A, B))
입력
[2, 4, 10, 6],[3, 4, 7, 5]
출력
14