使用Ruby,我如何访问和比较这些嵌套的数组值?

khbbv19g  于 2023-03-08  发布在  Ruby
关注(0)|答案(1)|浏览(87)

我有一个嵌套数组:

[[1, 2, 3],                                                                   
 [1, 3, 6],                                                                   
 [1, 4, 12],                                                                  
 [1, 5, 5],                                                                   
 [1, 2, 3],                                                                   
 [1, 8, 7],                                                                   
 [2, 3, 3],                                      
 [2, 4, 9],                                      
 [2, 5, 2],                                      
 [2, 8, 4],                                      
 [3, 4, 6],                                      
 [3, 8, 1],                                      
 [5, 8, 2],                                      
 [2, 8, 4],                                      
 [7, 8, 9]]

我试图找到一种简洁但可读的方式:
1.从每个嵌套数组内的索引位置[2](即每个嵌套数组中的第3个元素)中的那些值中比较并找出最大值。
1.从包含来自点1的最大值的同一嵌套数组返回索引[0]和[1]处的相邻值。
我尝试过各种各样的方法,比如#max#max_by#group_by#with_index,但都没有成功,但我现在正处于这样一个阶段,我可以从一个比我更有能力的大脑和程序员那里得到一些启示。

4bbkushb

4bbkushb1#

查找最后一个元素具有最大值的嵌套数组:

input = [[1, 2, 3], [1, 3, 6], [1, 4, 12], [1, 5, 5], [1, 2, 3], [1, 8, 7], [2, 3, 3], [2, 4, 9], [2, 5, 2], [2, 8, 4], [3, 4, 6], [3, 8, 1], [5, 8, 2], [2, 8, 4], [7, 8, 9]]
input.max_by(&:last)
#=> [1, 4, 12]

并且只返回它的前两个值:

input.max_by(&:last).take(2)
#=> [1, 4]

相关问题