小编Jam*_*amy的帖子

红宝石 - 逆时针旋转矩阵n位置

给定2D矩阵:

matrix = [
   [  1,   2,   3,   4  ],
   [  5,   6,   7,   8  ],
   [  9,  10,  11,  12  ],
   [ 13,  14,  15,  16  ]
]
Run Code Online (Sandbox Code Playgroud)

我们如何逆时针旋转矩阵,以便像这样推动值?

matrix = [
   [  2,   3,   4,   8  ]
   [  1,   7,  11,  12  ]
   [  5,   6,  10,  16  ]
   [  9,  13,  14,  15  ]
]
Run Code Online (Sandbox Code Playgroud)

注意

这个问题不是重复this&this因为我想要做到的,是在逆时针旋转时尚的值.

我目前的实施和问题

我当前的实现仅以逆时针方式打印出值,但它不会旋转值.

  layers = [_rows, _cols].min / 2
  r1, r2, c3, c4 = 0, _rows, _cols, …
Run Code Online (Sandbox Code Playgroud)

ruby arrays algorithm traversal multidimensional-array

5
推荐指数
1
解决办法
325
查看次数

如何在 ruby​​ 中将数组的每个元素压缩到另一个数组的每个元素?

假设我有这个数组:

[0, 1, 4], [2, 3]
Run Code Online (Sandbox Code Playgroud)

我怎样才能合并它们以获得:

[0,2], [0,3], [1,2], [1,3], [4,2], [4,3]
Run Code Online (Sandbox Code Playgroud)

我试过:

[0, 1, 4], [2, 3]
Run Code Online (Sandbox Code Playgroud)

但我得到了:

[[0, 2], [1, 3], [4, nil]]
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

ruby arrays merge

2
推荐指数
1
解决办法
362
查看次数