Leaders in an array
Given an zero indexed unsorted array find(if exist) the leaders in an array.
An element is leader if it is greater than all the elements to its right side,the rightmost element is always a leader.
Time-complexity: O(n)
Auxiliary-space: O(1)
Implementation
def find_leaders(a)
n = a.length
max_from_right = a[n-1]
print "#{max_from_right}"+" "
for i in (n-2).downto(0)
if a[i]>max_from_right
max_from_right=a[i]
print "#{max_from_right}"+" "
end
end
end
find_leaders([16, 17, 4, 3, 5, 2]) # => 2 5 17