aboutsummaryrefslogtreecommitdiff
path: root/challenge-339/packy-anderson/python/ch-2.py
blob: 0387ea2f4e2e5cd1c67b118a46a33be2cb2022c3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/bin/env python

from functools import reduce

from functools import reduce

def add_max(x, y):
  global max_alt
  max_alt = max(max_alt, x+y)
  return x+y

def peak_point(gain):
  global max_alt
  max_alt = 0 # initialize global to 0
  reduce(add_max, gain)
  return max_alt

def int_join(joiner, arr):
  return joiner.join(map(lambda i: str(i), arr))

def solution(gain):
  print(f'Input: @gain = ({int_join(", ", gain)})')
  print(f'Output: {peak_point(gain)}')

print('Example 1:')
solution([-5, 1, 5, -9, 2])

print('\nExample 2:')
solution([10, 10, 10, -25])

print('\nExample 3:')
solution([3, -4, 2, 5, -6, 1])

print('\nExample 4:')
solution([-1, -2, -3, -4])

print('\nExample 5:')
solution([-10, 15, 5])