【问题标题】:How can you represent a 2D array of arbitrarily sized dimensions? [closed]您如何表示任意大小的二维数组? [关闭]
【发布时间】:2012-12-25 13:51:49
【问题描述】:

有哪些好的方法可以表示二维数组,该数组在两个维度上都以任意长度扩展?

在 Ruby 中工作。

【问题讨论】:

  • 你不能有无穷大。您要解决的问题是什么?
  • @OliCharlesworth OP 的意思可能不是无限,而是任意性。但是忽略这一点,OP的描述仍然是矛盾的:2Dinifinite dimensions;哪个?
  • @sawa - 是的,这是正确的。它是二维的,每一个都是任意长度的。
  • 那么,请更正标题和正文。

标签: ruby arrays data-structures ruby-1.9 hash


【解决方案1】:

我认为散列很好:

{
  [0, 0] => "A1",
  [1, 0] => "B1",
  ...
  [0, 1] => "A2",
  [1, 1] => "B2",
  ...
}

或者,为了使其不那么透明但更高效,您可能会想到一种方法,使用配对函数将一对数字映射到单个数字,就像建议的 here 一样,并将其用作键:

{
  0 => "A1",
  1 => "B1",
  ...
  2 => "A2",
  4 => "B2",
  ...
}

【讨论】:

    猜你喜欢
    • 2020-05-24
    • 1970-01-01
    • 1970-01-01
    • 2020-03-20
    • 1970-01-01
    • 2020-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多