# 列表+循环
# 比较简单的是,建立一个空的列表,循环相加并返回 max 即可。
class Solution:
def largestAltitude(self, gain: List[int]) -> int:
start = 0
height = [0, ]
for i in range(len(gain)):
height.append(start + gain[i])
start = start + gain[i]
return max(height)
方法二:双指针
思路:不用额外的内存空间,一个指向求和值,另一个指向最值,返回即可。
# 双指针
# 不用额外的内存空间,一个指向求和值,另一个指向最值,返回即可。
class Solution:
def largestAltitude(self, gain: List[int]) -> int:
ans, total = 0, 0
for i in gain:
total += i
ans = max(ans, total)
return ans