programming-examples/ruby/Arrays/LeadersInArray.rb
2019-11-15 12:59:38 +01:00

22 lines
541 B
Ruby

=begin
Algorithm to print all the LEADERS in the 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)
=end
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