题目
剑指offer03:数组中重复的数字
找出数组中重复的数字。
在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。
示例:
1 | 输入: |
代码
使用一个HashSet来辅助。
1 | class Solution { |
随笔
Java类HashSet
1、HashSet的特点
由它创建的对象,是一个无序的且不允许出现重复元素的集合。
2、创建一个哈希表
1 | HashSet<Integer> set = new HashSet<>(); |
3、常用方法
(1)contains(Integer x)
判断哈希表里是否包含x
参数列表:Integer x
返回值类型:boolean
(2)add(Integer x)
往哈希表里添一个元素
参数列表:integer value
返回值类型:boolean
遍历数组的元素
1 | for(int x:nums) { |
其中,x为数组nums中的元素。