Skip to content

Instantly share code, notes, and snippets.

@avanishgiri
Created November 21, 2013 00:40
Show Gist options
  • Save avanishgiri/7573982 to your computer and use it in GitHub Desktop.
Save avanishgiri/7573982 to your computer and use it in GitHub Desktop.
matrix = ('a'..'y').each_slice(5).to_a
def all_diagonals(m)
len = m[0].length
final = Array.new(2*len - 1){[]}
0.upto(len-1) do |i|
i.downto(0) do |j|
final[i] << m[i-j][j]
final[2*len-i-2] << m[len-1-j][j+len-i-1] if 2*len-i-2 != len-1
end
end
final
end
matrix.each { |i| p i }
puts; puts;
p all_diagonals(matrix)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment