Algorithms/Find maximum/Python method 1
Appearance
Python (2.7 and 3.6) source code. The code needs to be reviewed.
def findmax(a):
if len(a) == 0:
return 0
curr_max = a[0]
for i in a:
if i > curr_max:
curr_max = i
return curr_max
Simple example of how to use the function:
print(findmax([12, 13, 555, 124, 342]))
Output should be: 555
Another way to implement the algorithm:
def imax( iterable, key=lambda x: x ):
"""returns largest item, as input could take iterator or sequence
"key" function will be applied on every item, before comparison is made
>>> imax( [12,3,4, 89, 90,88] )
90
"""
current_max = None
for x in iterable:
if current_max is None or key(x) > key( current_max ):
current_max = x
return current_max
Simple example of how to use the function:
print(imax( [12, 13, 555, 124, 342] ))
print(imax( [12, 13, 555, 124, 342], lambda x: 1.0/x ))