给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。
package factory;
import java.util.HashSet;
import java.util.Set;
/**
* @Description: 寻找重复数
* @Author: Jaryn
* @Date: 2019/12/11 16:23
*/
public class FindDuplicate {
public static void main(String[] args) {
int[] nums = new int[]{1,3,4,2,2};
System.out.println(findDuplicate1(nums));
}
/**
* 使用set的方法做
* 5ms 排34%
* @param nums
* @return
*/
public static int findDuplicate1(int[] nums) {
HashSet<Integer> integers = new HashSet<>();
for(int i =0; i< nums.length; i++) {
if(!integers.add(nums[i])) {
return nums[i];
}
}
return 0;
}
}