小编Ipu*_*tov的帖子

解决Python中的“firstDuplicate”问题

我正在尝试解决来自 codesignal.com 的以下挑战:

\n\n

给定一个仅包含 1 到 a.length 范围内的数字的数组 a,找到第二次出现具有最小索引的第一个重复数字。换句话说,如果有超过 1 个重复数字,则返回第二次出现的索引比另一个数字第二次出现的索引小的数字。如果不存在这样的元素,则返回-1。

\n\n

例子

\n\n

For a = [2, 1, 3, 5, 3, 2],输出应该是\n firstDuplicate(a) = 3

\n\n

有 2 个重复项:数字 2 和 3。第二次出现的 3 的索引比第二次出现的 2 的索引小,因此答案是 3。

\n\n

对于a = [2, 4, 3, 5, 1],输出应为\n firstDuplicate(a) = -1

\n\n

执行时间限制为4秒。

\n\n

保证的约束是:

\n\n

1 \xe2\x89\xa4 a.length \xe2\x89\xa4 10^5, 和

\n\n

1 \xe2\x89\xa4 a[i] \xe2\x89\xa4 a.length

\n\n

所以我的代码是:

\n\n
def firstDuplicate(a):\n    b = …
Run Code Online (Sandbox Code Playgroud)

python arrays list

3
推荐指数
1
解决办法
4042
查看次数

标签 统计

arrays ×1

list ×1

python ×1