gpt4 book ai didi

ruby - 在数组中查找 `uniq` 值及其索引

转载 作者:太空宇宙 更新时间:2023-11-03 17:47:34 26 4
gpt4 key购买 nike

假设我有一个数组

[1, 2, 3, 4, 3, 2]

我想知道如何获得散列 { 1 => 0, 4 => 3 } (value => index)。我需要较早出现的索引。

最佳答案

也可以试试这个

unique = array.select { |a| array.count(a) === 1 }
indexes = unique.map { |u| array.index(u) }
Hash[unique.zip(indexes)]

我的算法是首先生成一个新的单个元素数组。我通过过滤计数等于 1 的数组来实现这一点。我们可以使用 array#count 方法。

然后我创建了第二个数组,在这里我将第一个数组的值映射到它们在原始数组中的索引。

然后我使用 array#zip 函数组合这些值,并使用 Hash 转换为散列。

输出

{ 1 => 0, 4 => 3 }

关于ruby - 在数组中查找 `uniq` 值及其索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32482553/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com