Ruby二维数组查找最大值和排序数组

Ruby二维数组查找最大值和排序数组,ruby,Ruby,我有一个数组,其坐标表示多段线: array = [ [3004.9999999999986, -500.0], [5733.5, -500.0], [5733.5, 300.0], [8462.0, 300.0], [8462.0, 1026.163313244362], [7254.568694406579, 1026.163313244362], [7254.568694406579, 1500.0], [3004.9999999999914, 1500.0

我有一个数组,其坐标表示多段线:

array = [
  [3004.9999999999986, -500.0],
  [5733.5, -500.0],
  [5733.5, 300.0],
  [8462.0, 300.0],
  [8462.0, 1026.163313244362],
  [7254.568694406579, 1026.163313244362],
  [7254.568694406579, 1500.0],
  [3004.9999999999914, 1500.0],
  [3004.9999999999914, 1224.9602566586254],
  [5.0, 1224.9602566586254],
  [5.00000000000015, 300.0],
  [3004.9999999999986, 300.0]
]
我必须找到具有最低x值和最高y值的坐标,其中较低的x值优先于较高的y值

对于上述阵列,预期结果如下(最低x,然后最高y):

您可以使用:

或:


“我必须找到坐标…”-那又怎样?构造一个示例数组并显示所需的输出,以便我们可以提供帮助you@mudasobwa马茨很好!我知道OP没有读它是错误的,Andrey,但是有经验的人的移情发生了什么。我试着用min_by,但我不能得到最大的移情值。谢谢这个简单的解决方案。我如何更改优先级?例如,我想要最高的y,然后是最低的x。对于上述数组,预期结果是:
[3004.99999999914,1500.0]
@biervat
a.max_by{x,y |[y,-x]}
=>
[3004.99999999914,1500.0]
。如果答案解决了你的问题,请确保接受答案(在答案分数附近寻找复选标记)
[5.0, 1224.9602566586254]
array.min_by { |x, y| [x, -y] }
#=> [5.0, 1224.9602566586254]
array.max_by { |x, y| [-x, y] }
#=> [5.0, 1224.9602566586254]