Skip to content

Instantly share code, notes, and snippets.

umar umarsheikh

Block or report user

Report or block umarsheikh

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
umarsheikh / Array.flatten implementation
Created Oct 2, 2017
Code that flattens arbitrary nested array in ruby
View Array.flatten implementation
# method: flatten_array
# arguments: an unflattened array, and output array, initially set to [].
# output: a flattened array, so that arbitrary nesting of arrays is removed.
# the method employs tail recursion. It loops over each element of the array.
# if the current element is not an array, it adds it to the array it is building for output.
# but if the current element is an array, then it will call itself recursively so that the next call can iterate over this array element and add items from it recursively.
def flatten_array(array, start=[])
array.each do |elem|
View node.rb
class Node
attr_accessor :left, :right, :depth, :name
def initialize(depth, name)
@depth = depth
@name = name
def traverse(node, k, depth=0)
return if k < 0
You can’t perform that action at this time.