Answer
def longest(names):
n=len(names)
current=names[0]
maxLength=len(current)
for (i=1; imaxLength:
maxLength=len(names[i])
current=names[i]
return current
Work Step by Step
def longest(names):
n=len(names)
current=names[0]
maxLength=len(current)
for (i=1; imaxLength:
maxLength=len(names[i])
current=names[i]
return current
The given code iterates over all names while storing the current longest name and it's length and whenever it finds a larger name it updates the them. After completing the iteration we will get the largest name.
If there are more than one longest names this algorithm prints the first one having longest length.
if all the names had the same length then the given algorithm will print the first name.