找出数组中重复的数字。
在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1
的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。
示例 1:
输入:
[2, 3, 1, 0, 2, 5, 3]
输出:2 或 3
思路:
使用哈希表,java当中有的数据结构
算法流程:
初始化: 新建 HashSet ,记为 dicdic ;
遍历数组 numsnums 中的每个数字 numnum :
当 numnum 在 dicdic 中,说明重复,直接返回 numnum ;
将 numnum 添加至 dicdic 中;
返回 -1−1 。本题中一定有重复数字,因此这里返回多少都可以。