陣列中的重複數字
阿新 • • 發佈:2021-06-27
package jz03; import java.util.HashSet; /** * @描述 在一個長度為 n 的陣列 nums 裡的所有數字都在 0~n-1 的範圍內。陣列中某些數字是重複的, * 但不知道有幾個數字重複了,也不知道每個數字重複了幾次。請找出陣列中任意一個重複的數字。 * @建立人 jxx * @建立時間 2021/6/27 * @修改人和其它資訊 */ public class FindRepeatNumber { public static void main(String[] args) { int[] arr = {1,2,3,2,1,4,5,4}; System.out.println(findRepeatNumber(arr)); }/** * 思路:1.判斷值是否存在在set中,存在說明重複了,直接返回,不存在則新增至set中 * @param nums * @return */ private static int findRepeatNumber(int[] nums) { HashSet<Integer> set = new HashSet<>(); for (Integer value : nums) { if(set.contains(value)) return value; set.add(value); }return -1; } }