도로 여행을 가려고 하는 자전거 타는 사람이 있다고 가정해 봅시다. 다른 고도에서의 로드 트립에는 n개의 다른 지점이 있습니다. 바이커는 고도가 0인 지점 0에서 여행을 시작합니다. n개의 요소가 있는 게인이라는 시퀀스가 있는 경우 Gain[i]는 지점 i와 i + 1 사이의 고도 순 이득입니다(0 <=i
따라서 입력이 게인 =[-4,2,6,1,-6]과 같으면 고도가 [0,-4,-2,4,5,-1]이기 때문에 출력은 5가 됩니다. , 따라서 최대값은 5입니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
최대 :=0
run_alt :=0
이득의 각 델타에 대해 수행
run_alt :=run_alt + 델타
maximum :=maximum 및 run_alt의 최대값
최대 반환
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
예제(파이썬)
def solve(gain):
maximum = 0
run_alt = 0
for delta in gain:
run_alt += delta
maximum = max(maximum, run_alt)
return maximum
gain = [-4,2,6,1,-6]
print(solve(gain))
입력
[-4,2,6,1,-6]
출력
5