假设我有一个包含9个元素的唯一整数数组。
array = [3,5,7,9,2,4,8,1,6]
如何返回一个索引数组,该索引告诉我原始整数数组从最大到最小的位置?
index_of_largest_to_smallest = [3,6,2,8,1,5,0,4,7]
因此,这告诉我最大的数字位于位置3,第二大的位置位于位置6,依此类推。
我试过了array.sort
,但是将数组从最大到最小排序。我也尝试过,array.each_with_index
但无法获得它返回另一个数组。
通过each_with_index
,sort
,map
,last
和reverse
:
[3,5,7,9,2,4,8,1,6].each_with_index #=> [[3, 0], [5, 1], [7, 2], [9, 3], [2, 4], [4, 5], [8, 6], [1, 7], [6, 8]]
.sort #=> [[1, 7], [2, 4], [3, 0], [4, 5], [5, 1], [6, 8], [7, 2], [8, 6], [9, 3]]
.map(&:last) #=> [7, 4, 0, 5, 1, 8, 2, 6, 3]
.reverse #=> [3, 6, 2, 8, 1, 5, 0, 4, 7]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句