Skip to content

Instantly share code, notes, and snippets.

@heartfulbird
Last active October 12, 2022 09:08
Show Gist options
  • Save heartfulbird/3723d16b217319a9f19a9591bddbcfe2 to your computer and use it in GitHub Desktop.
Save heartfulbird/3723d16b217319a9f19a9591bddbcfe2 to your computer and use it in GitHub Desktop.
# this one should be optimized in terms of memory usage
def reverse(arr = [])
reversed = []
# here we remove the element from the original array and write it to the reversed one
arr.length.times { |i| reversed.push arr.pop }
reversed
end
def reverse(arr = [])
reversed = []
arr.each { |el| reversed.prepend(el) }
reversed
end
def reverse(arr = [])
reversed = []
arr.length.times do |i|
reversed_index = arr.length - (i + 1)
reversed[reversed_index] = arr[i]
end
reversed
end
def reverse(arr = [])
reversed = []
i = 1
arr.each do |el|
reversed_index = arr.length - i
reversed[reversed_index] = el
i += 1
end
reversed
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment