[[0, 1, 2], [2, 1, 0], [0, 1, 2]]
Какой простой способ проверить, что в этой матрице все значения в столбце одинаковые?
[[0, 1, 0], [2, 2, 2], [0, 1, 2]]
А потом по горизонтали?
1.
a.map{|row|row[x]}.uniq.size == 1
или
a.transpose[x].uniq.size == 1
2.
a[x].uniq.size == 1
Чтобы проверить, есть ли строка, в которой все элементы одинаковы, вы можете сделать:
array.any? do |row| row.all? {|item| row[0] == item } end
Чтобы проверить, есть ли столбец, вы можете сначала перенести массив, а затем сделать то же самое.