Skip to content

Instantly share code, notes, and snippets.

@kvirani
Last active November 22, 2019 01:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 151 You must be signed in to fork a gist
  • Save kvirani/99deb315bd062252d182 to your computer and use it in GitHub Desktop.
Save kvirani/99deb315bd062252d182 to your computer and use it in GitHub Desktop.
Ruby Exercise - Maximum Value - Given an array of numbers, find the maximum in the array

Create a directory in your /vagrant folder (while ssh'd into your Vagrant VM). Within that directory, clone your fork of this repo, which contains one ruby file max.rb.

Spend the time necessary to read and fully understand what the code in max.rb is doing. Google or discuss as necessary. Have an expectation of what will be output when you first run the code, then use the ruby command to run the max.rb file from the terminal.

Task: Currently, the built-in Array#max method is being used (line 3) to implement the logic for the maximum method. As an exercise, instead of leveraging this built-in method, implement your own logic such that the maximum method continues to work the same way that it was, and the resulting output from this ruby script stays the same. Note: you also cannot use Ruby's built-in sort method.

# Find the maximum
def maximum(arr)
arr.max
end
# expect it to return 42 below
result = maximum([2, 42, 22, 02])
puts "max of 2, 42, 22, 02 is: #{result}"
# expect it to return nil when empty array is passed in
result = maximum([])
puts "max on empty set is: #{result.inspect}"
result = maximum([-23, 0, -3])
puts "max of -23, 0, -3 is: #{result}"
result = maximum([6])
puts "max of just 6 is: #{result}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment