本题用**哈希表(集合)**做一次从左到右的扫描。
seen,存放已经出现过的用户编号。seen 中,说明这是第一次发生重复的位置,直接返回该编号。seen。-1。安全审计需要检查登录流水。给定按时间顺序排列的用户编号数组 users,请找出第一次出现重复的用户编号:
-1请实现:
firstDuplicate(users: int[]) -> int
一行:整型数组 users,形如 [3, 1, 4, 1, 5]。
约束:
一个整数:首次重复的用户编号;若无重复则为 -1。
输入:
[3, 1, 4, 1, 5]
输出:
1
说明:扫描到第二个 1 时发现重复,答案为 1。后面即使还有别的重复也不再考虑。
输入:
[1, 2, 3, 4]
输出:
-1
说明:全部互不相同。
输入:
[7, 7]
输出:
7
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.