From 3457c7a15b48e32fa9eb55630657287942ca0d98 Mon Sep 17 00:00:00 2001 From: Mariano Spadaccini Date: Thu, 6 Apr 2023 11:57:00 +0200 Subject: Add ch-1.rb --- challenge-211/spadacciniweb/ruby/ch-1.rb | 40 ++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 challenge-211/spadacciniweb/ruby/ch-1.rb (limited to 'challenge-211/spadacciniweb/ruby') diff --git a/challenge-211/spadacciniweb/ruby/ch-1.rb b/challenge-211/spadacciniweb/ruby/ch-1.rb new file mode 100644 index 0000000000..03b84d9ff3 --- /dev/null +++ b/challenge-211/spadacciniweb/ruby/ch-1.rb @@ -0,0 +1,40 @@ +# Task 1: Toeplitz Matrix +# Submitted by: Mohammad S Anwar +# +# You are given a matrix m x n. +# Write a script to find out if the given matrix is Toeplitz Matrix. +# A matrix is Toeplitz if every diagonal from top-left to bottom-right has the same elements. +# +# +# Example 1 +# Input: @matrix = [ [4, 3, 2, 1], +# [5, 4, 3, 2], +# [6, 5, 4, 3], +# ] +# Output: true +# +# Example 2 +# Input: @matrix = [ [1, 2, 3], +# [3, 2, 1], +# ] +# Output: false + +def check_toeplitz(m) + rc = [m.length, m[0].length].min - 1 + val = m[0][0] + (0..rc).each {|e| + return 'false' if m[e][e] != val + } + return 'true' +end + +matrix = [ [4, 3, 2, 1], + [5, 4, 3, 2], + [6, 5, 4, 3], + ] +puts check_toeplitz matrix + +matrix = [ [1, 2, 3], + [3, 2, 1], + ] +puts check_toeplitz matrix -- cgit